20 #ifndef _SPATIAL_CONTOUR_H_
21 #define _SPATIAL_CONTOUR_H_
23 #include "mbsim/contours/rigid_contour.h"
25 #include "mbsim/utils/boost_parameters.h"
26 #include <mbsim/utils/openmbv_utils.h>
30 class ContactKinematics;
31 template <
class Sig>
class Function;
53 std::string
getType()
const {
return "SpatialContour"; }
58 double getCurvature(
const fmatvec::Vec2 &zeta);
59 fmatvec::Vec3 evalKrPS(
const fmatvec::Vec2 &zeta);
60 fmatvec::Vec3 evalKs(
const fmatvec::Vec2 &zeta);
61 fmatvec::Vec3 evalKt(
const fmatvec::Vec2 &zeta);
62 fmatvec::Vec3 evalParDer1Ks(
const fmatvec::Vec2 &zeta);
63 fmatvec::Vec3 evalParDer2Ks(
const fmatvec::Vec2 &zeta);
64 fmatvec::Vec3 evalParDer1Kt(
const fmatvec::Vec2 &zeta);
65 fmatvec::Vec3 evalParDer2Kt(
const fmatvec::Vec2 &zeta);
69 void setContourFunction(
Function<fmatvec::Vec3(fmatvec::Vec2)> *f);
73 BOOST_PARAMETER_MEMBER_FUNCTION( (
void), enableOpenMBV, tag, (optional (etaNodes,(
const std::vector<double>&),std::vector<double>())(xiNodes,(
const std::vector<double>&),std::vector<double>())(diffuseColor,(
const fmatvec::Vec3&),
"[-1;1;1]")(transparency,(
double),0))) {
74 OpenMBVIndexedFaceSet ombv(diffuseColor,transparency);
75 openMBVRigidBody=ombv.createOpenMBV();
76 ombvEtaNodes = etaNodes;
77 ombvXiNodes = xiNodes;
80 virtual void initializeUsingXML(xercesc::DOMElement *element);
82 void setNodes(
const std::vector<double> &nodes_) { etaNodes = nodes_; }
84 virtual bool isZetaOutside(
const fmatvec::Vec2 &zeta) {
return open and (zeta(0) < etaNodes[0] or zeta(0) > etaNodes[etaNodes.size()-1]); }
86 void setOpen(
bool open_=
true) { open = open_; }
89 Function<fmatvec::Vec3(fmatvec::Vec2)> * funcCrPC;
92 std::vector<double> ombvEtaNodes;
93 std::vector<double> ombvXiNodes;
basic class for rigid contours
Definition: rigid_contour.h:37
SpatialContour(const std::string &name="", Frame *R=NULL)
constructor
Definition: spatial_contour.h:45
analytical description of contours with one contour parameter
Definition: spatial_contour.h:39
void init(InitStage stage)
plots time series header
Definition: spatial_contour.cc:72
InitStage
The stages of the initialization.
Definition: element.h:97
Definition: planar_contour.h:31
std::string name
name of element
Definition: element.h:298
std::string getType() const
Definition: spatial_contour.h:53
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:37
virtual ~SpatialContour()
destructor
Definition: spatial_contour.cc:34
Frame * R
coordinate system of contour
Definition: rigid_contour.h:88