mbsim  4.0.0
MBSim Kernel
MBSim::PlanarContour Class Reference

analytical description of contours with one contour parameter More...

#include <planar_contour.h>

Inheritance diagram for MBSim::PlanarContour:
[legend]

Public Member Functions

 PlanarContour (const std::string &name="", Frame *R=nullptr)
 constructor More...
 
 ~PlanarContour () override
 destructor
 
void init (InitStage stage, const InitConfigSet &config) override
 plots time series header More...
 
fmatvec::Vec3 evalKrPS (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalKs (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalKt (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalKn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Ks (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Kt (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Kn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec2 evalCurvatures (const fmatvec::Vec2 &zeta) override
 
void setContourFunction (Function< fmatvec::Vec3(double)> *func)
 
Function< fmatvec::Vec3(double)> * getContourFunction ()
 
 BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBV, tag,(optional(nodes,(const std::vector< double > &), std::vector< double >())(filled,(bool), 0)(diffuseColor,(const fmatvec::Vec3 &), fmatvec::Vec3(std::vector< double >{-1, 1, 1}))(transparency,(double), 0)(pointSize,(double), 0)(lineWidth,(double), 0)))
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
void setNodes (const std::vector< double > &nodes_)
 
bool isZetaOutside (const fmatvec::Vec2 &zeta) override
 
void setOpen (bool open_=true)
 
- Public Member Functions inherited from MBSim::RigidContour
 RigidContour (const std::string &name, Frame *R_=nullptr)
 constructor More...
 
ContourFramecreateContourFrame (const std::string &name="P") override
 
FramegetFrame ()
 
FramegetFrameOfReference ()
 
void setFrameOfReference (Frame *frame)
 
void setFrameOfReference (const std::string &frame)
 
void plot () override
 plots time dependent data More...
 
void init (InitStage stage, const InitConfigSet &config) override
 plots time series header More...
 
virtual fmatvec::Vec3 evalKrPS (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalKs (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalKt (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalKu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalKv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalKn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Ks (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Ks (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Kt (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Kt (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Kn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Kn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Ku (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Ku (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Kv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Kv (const fmatvec::Vec2 &zeta)
 
fmatvec::Vec3 evalPosition (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWu (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWv (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Wn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer2Wn (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Wu (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer2Wu (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer1Wv (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParDer2Wv (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWs (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalWt (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParWvCParEta (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParWvCParXi (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParWnPart (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParWuPart (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec3 evalParWvPart (const fmatvec::Vec2 &zeta) override
 
fmatvec::Vec2 evalCurvatures (const fmatvec::Vec2 &zeta) override
 
ContactKinematicsfindContactPairingWith (const std::type_info &type0, const std::type_info &type1) override
 contact search for RigidContours More...
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
std::shared_ptr< OpenMBV::RigidBody > & getOpenMBVRigidBody ()
 
- Public Member Functions inherited from MBSim::Contour
 Contour (const std::string &name)
 constructor More...
 
 ~Contour () override=default
 destructor
 
virtual ContactKinematicsfindContactPairingWith (const std::type_info &type0, const std::type_info &type1)=0
 find contact kinematics More...
 
virtual ContourFramecreateContourFrame (const std::string &name="P")
 
const std::vector< double > & getEtaNodes () const
 
const std::vector< double > & getXiNodes () const
 
void setEtaNodes (const std::vector< double > &etaNodes_)
 
void setXiNodes (const std::vector< double > &xiNodes_)
 
virtual int gethSize (int i=0) const
 
virtual int gethInd (int i=0) const
 
virtual void sethSize (int size, int i=0)
 
virtual void sethInd (int ind, int i=0)
 
virtual fmatvec::Vec3 evalPosition (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWs (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWt (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Mat3x2 evalWN (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Mat3x2 evalWR (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Mat3x2 evalWU (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Mat3x2 evalWV (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParWvCParEta (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParWvCParXi (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Mat3x2 evalParWvCParZeta (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParWnPart (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParWuPart (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParWvPart (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec2 evalZeta (const fmatvec::Vec3 &WrPS)
 
virtual fmatvec::Vec2 evalCurvatures (const fmatvec::Vec2 &zeta)
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
void setThickness (double thickness_)
 
double getThickness () const
 
virtual bool isZetaOutside (const fmatvec::Vec2 &zeta)
 
void createPlotGroup () override
 creates the plotGroup for H5-output More...
 
- Public Member Functions inherited from MBSim::Element
 Element (const std::string &name)
 constructor
 
 ~Element () override=default
 destructor
 
void throwError (const std::string &msg) const
 
virtual void setDynamicSystemSolver (DynamicSystemSolver *sys)
 sets the used dynamics system solver to the element More...
 
virtual void plot ()
 plots time dependent data More...
 
virtual void plotAtSpecialEvent ()
 plots time dependent data at special events More...
 
const std::string & getName () const
 
void setName (const std::string &str)
 
void setPath (const std::string &str)
 
DynamicSystemSolvergetDynamicSystemSolver ()
 
virtual void init (InitStage stage, const InitConfigSet &config=InitConfigSet())
 plots time series header More...
 
virtual void createPlotGroup ()
 creates the plotGroup for H5-output More...
 
H5::GroupBasegetPlotGroup ()
 
virtual H5::GroupBasegetFramesPlotGroup ()
 
virtual H5::GroupBasegetContoursPlotGroup ()
 
virtual H5::GroupBasegetGroupsPlotGroup ()
 
virtual H5::GroupBasegetObjectsPlotGroup ()
 
virtual H5::GroupBasegetLinksPlotGroup ()
 
virtual H5::GroupBasegetConstraintsPlotGroup ()
 
virtual H5::GroupBasegetObserversPlotGroup ()
 
bool getPlotFeature (const PlotFeatureEnum &pf)
 
virtual void setPlotFeature (const PlotFeatureEnum &pf, bool value)
 Set a plot feature. More...
 
void setPlotFeatureForChildren (const PlotFeatureEnum &pf, bool value)
 Set a plot feature for the children of this object. More...
 
void setPlotFeatureRecursive (const PlotFeatureEnum &pf, bool value)
 Set a plot feature for this object and the children of this object. More...
 
template<class T >
void setPlotAttribute (const std::string &name, const T &value)
 Set a plot attribute: static data attached as key/value pairs to the plot datasets/groups.
 
void setPlotAttribute (const std::string &name)
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
template<class T >
T * getByPath (const std::string &path, bool initialCaller=true) const
 Get the object of type T represented by the path path. Do not set any argurment other than path!
 
std::string getPath (const Element *relTo=nullptr, std::string sep="/") const
 Return the path of this object. If relativeTo is not NULL return a relative path to relativeTo. Do not set any argurment other than relTo and sep!
 
virtual ElementgetChildByContainerAndName (const std::string &container, const std::string &name) const
 Get the Element named name in the container named container. More...
 
virtual std::shared_ptr< OpenMBV::GroupgetOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetFramesOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetContoursOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetGroupsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetObjectsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetLinksOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetConstraintsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetObserversOpenMBVGrp ()
 
virtual ElementgetParent ()
 
virtual const ElementgetParent () const
 
virtual void setParent (Element *parent_)
 
std::vector< Element * > getDependencies () const
 checks dependency on other elements. More...
 
void addDependency (Element *ele)
 
int computeLevel ()
 computes the length of the pathes in the graph that represents the dependencies between all elements. More...
 
virtual void updatePositions (Frame *frame)
 
virtual void updateVelocities (Frame *frame)
 
virtual void updateAccelerations (Frame *frame)
 
virtual void updateJacobians (Frame *frame, int j=0)
 
virtual void updateGyroscopicAccelerations (Frame *frame)
 
virtual void resetUpToDate ()
 
const double & getTime () const
 
double getStepSize () const
 
const MBXMLUtils::DOMEvalExceptiongetDOMEvalError () const
 

Protected Attributes

Function< fmatvec::Vec3(double)> * funcCrPC {nullptr}
 
bool open {false}
 
std::shared_ptr< OpenMBVPlanarContourombv
 
- Protected Attributes inherited from MBSim::RigidContour
FrameR
 coordinate system of contour
 
std::shared_ptr< OpenMBV::RigidBodyopenMBVRigidBody
 
- Protected Attributes inherited from MBSim::Contour
int hSize [2]
 size and index of right hand side for frame JACOBIAN settings
 
int hInd [2]
 
std::vector< double > etaNodes
 
std::vector< double > xiNodes
 
double thickness
 thickness of contour
 
- Protected Attributes inherited from MBSim::Element
Elementparent { nullptr }
 
std::string name
 name of element
 
std::string path
 The path of this object. Is set during the init stage reorganizeHierarchy. Before this the path is calculated dynamically using getPath() after this stage getPath just returns this value.
 
MBXMLUtils::DOMEvalException domEvalError
 Special XML helper variable.
 
DynamicSystemSolverds { nullptr }
 dynamic system
 
H5::VectorSerie< double > * plotVectorSerie { nullptr }
 time series
 
std::vector< double > plotVector
 one entry of time series
 
std::vector< std::string > plotColumns
 columns of time series
 
H5::GroupBaseplotGroup { nullptr }
 associated plot group
 
std::vector< Element * > dependency
 vector containing all dependencies.
 
PlotFeatureMap plotFeature
 plot feature
 
PlotFeatureMap plotFeatureForChildren
 
std::map< std::string, std::variant< std::monostate, int, double, std::string, std::vector< int >, std::vector< double >, std::vector< std::vector< double > > > > plotAttribute
 

Additional Inherited Members

- Public Types inherited from MBSim::Element
enum  InitStage {
  resolveStringRef =0 , preInit , plotting , unknownStage ,
  LASTINITSTAGE
}
 The stages of the initialization. More...
 
- Protected Member Functions inherited from MBSim::Element
void updatePlotFeatures ()
 
void addToPlot (const std::string &name)
 
void addToPlot (const std::string &name, int size)
 
void addToPlot (const std::string &name, const std::vector< std::string > &iname)
 
template<class AT >
void plot (const AT &x)
 
template<class Type , class AT >
void plot (const fmatvec::Vector< Type, AT > &x)
 
- Static Protected Attributes inherited from MBSim::Contour
static fmatvec::Vec3 zero3
 
static fmatvec::Vec3 ex
 
static fmatvec::Vec3 ey
 
static fmatvec::Vec3 ez
 

Detailed Description

analytical description of contours with one contour parameter

Author
Robert Huber
Date
2009-04-20 some comments (Thorsten Schindler)
2009-06-04 new file (Thorsten Schindler)

Constructor & Destructor Documentation

◆ PlanarContour()

MBSim::PlanarContour::PlanarContour ( const std::string &  name = "",
Frame R = nullptr 
)
inline

constructor

Parameters
nameof contour

Member Function Documentation

◆ evalCurvatures()

Vec2 MBSim::PlanarContour::evalCurvatures ( const fmatvec::Vec2 &  zeta)
overridevirtual

Reimplemented from MBSim::Contour.

◆ evalKn()

fmatvec::Vec3 MBSim::PlanarContour::evalKn ( const fmatvec::Vec2 &  zeta)
inlineoverridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalKrPS()

Vec3 MBSim::PlanarContour::evalKrPS ( const fmatvec::Vec2 &  zeta)
overridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalKs()

Vec3 MBSim::PlanarContour::evalKs ( const fmatvec::Vec2 &  zeta)
overridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalKt()

fmatvec::Vec3 MBSim::PlanarContour::evalKt ( const fmatvec::Vec2 &  zeta)
inlineoverridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalParDer1Kn()

Vec3 MBSim::PlanarContour::evalParDer1Kn ( const fmatvec::Vec2 &  zeta)
overridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalParDer1Ks()

Vec3 MBSim::PlanarContour::evalParDer1Ks ( const fmatvec::Vec2 &  zeta)
overridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalParDer1Kt()

fmatvec::Vec3 MBSim::PlanarContour::evalParDer1Kt ( const fmatvec::Vec2 &  zeta)
inlineoverridevirtual

Reimplemented from MBSim::RigidContour.

◆ evalWn()

fmatvec::Vec3 MBSim::PlanarContour::evalWn ( const fmatvec::Vec2 &  zeta)
inlineoverridevirtual
Returns
normal in world frame
Parameters
contourposition

Reimplemented from MBSim::Contour.

◆ init()

void MBSim::PlanarContour::init ( InitStage  stage,
const InitConfigSet &  config 
)
overridevirtual

plots time series header

Parameters
invocingparent class

Reimplemented from MBSim::Element.

◆ initializeUsingXML()

void MBSim::PlanarContour::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

Reimplemented from MBSim::Contour.

◆ isZetaOutside()

bool MBSim::PlanarContour::isZetaOutside ( const fmatvec::Vec2 &  zeta)
inlineoverridevirtual

Reimplemented from MBSim::Contour.


The documentation for this class was generated from the following files: