23#include "mbsim/contours/rigid_contour.h"
24#include "mbsim/utils/boost_parameters.h"
25#include "mbsim/utils/openmbv_utils.h"
26#include <openmbvcppinterface/frustum.h>
47 void init(
InitStage stage,
const InitConfigSet &config)
override;
51 fmatvec::Vec3 evalKrPS(
const fmatvec::Vec2 &zeta)
override;
52 fmatvec::Vec3 evalKs(
const fmatvec::Vec2 &zeta)
override;
53 fmatvec::Vec3 evalKt(
const fmatvec::Vec2 &zeta)
override {
return zero3; }
54 fmatvec::Vec3 evalKu(
const fmatvec::Vec2 &zeta)
override;
55 fmatvec::Vec3 evalKv(
const fmatvec::Vec2 &zeta)
override;
56 fmatvec::Vec3 evalKn(
const fmatvec::Vec2 &zeta)
override;
57 fmatvec::Vec3
evalParDer1Ku(
const fmatvec::Vec2 &zeta)
override;
58 fmatvec::Vec3
evalParDer2Ku(
const fmatvec::Vec2 &zeta)
override {
return zero3; }
59 fmatvec::Vec3
evalParDer1Kv(
const fmatvec::Vec2 &zeta)
override;
60 fmatvec::Vec3
evalParDer2Kv(
const fmatvec::Vec2 &zeta)
override;
61 fmatvec::Vec3 evalParDer1Kn(
const fmatvec::Vec2 &zeta)
override;
62 fmatvec::Vec3 evalParDer2Kn(
const fmatvec::Vec2 &zeta)
override;
64 fmatvec::Vec3
evalWt(
const fmatvec::Vec2 &zeta)
override {
return zero3; }
65 fmatvec::Vec3
evalParDer2Wu(
const fmatvec::Vec2 &zeta)
override {
return zero3; }
67 fmatvec::Vec2 evalZeta(
const fmatvec::Vec3& WrPoint)
override;
69 fmatvec::Vec2 evalCurvatures(
const fmatvec::Vec2 &zeta)
override {
return fmatvec::Vec2({sign/
r,0}); }
73 void setRadius(
double r_) {
r = r_; }
74 double getRadius()
const {
return r; }
75 double getSign()
const {
return sign; }
77 void setSolid(
bool solid_=
true) {
solid = solid_; }
78 bool getSolid()
const {
return solid; }
81 BOOST_PARAMETER_MEMBER_FUNCTION( (
void), enableOpenMBV, tag, (optional (diffuseColor,(
const fmatvec::Vec3&),fmatvec::Vec3(std::vector<double>{-1,1,1}))(transparency,(
double),0)(pointSize,(
double),0)(lineWidth,(
double),0))) {
82 OpenMBVColoredBody ombv(diffuseColor,transparency,pointSize,lineWidth);
86 void initializeUsingXML(xercesc::DOMElement *element)
override;
circular contour with contact possibility from outside and inside and binormal in direction of the th...
Definition: circle.h:36
bool solid
contact on outer surface?
Definition: circle.h:100
~Circle() override=default
destructor
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: circle.cc:140
fmatvec::Vec3 evalParDer2Wu(const fmatvec::Vec2 &zeta) override
Definition: circle.h:65
fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta) override
Definition: circle.h:64
fmatvec::Vec3 evalParDer1Kv(const fmatvec::Vec2 &zeta) override
Definition: circle.cc:88
fmatvec::Vec3 evalParDer2Ku(const fmatvec::Vec2 &zeta) override
Definition: circle.h:58
fmatvec::Vec3 evalParDer2Kv(const fmatvec::Vec2 &zeta) override
Definition: circle.cc:98
double r
radius
Definition: circle.h:92
fmatvec::Vec3 evalParDer1Ku(const fmatvec::Vec2 &zeta) override
Definition: circle.cc:80
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:39
basic class for rigid contours
Definition: rigid_contour.h:37
Frame * R
coordinate system of contour
Definition: rigid_contour.h:135
RigidContour(const std::string &name, Frame *R_=nullptr)
constructor
Definition: rigid_contour.h:43
namespace MBSim
Definition: bilateral_constraint.cc:30