20#ifndef _PLANEWITHFRUSTUM_H_
21#define _PLANEWITHFRUSTUM_H_
23#include "mbsim/contours/rigid_contour.h"
47 PlaneWithFrustum(
const std::string &
name,
double rFrustumOnPlane_,
double rFrustumOnTop_,
double hFrustum_,
double rho_,
Frame *
R=
nullptr) :
RigidContour(
name,
R), rFrustumOnPlane(rFrustumOnPlane_), rFrustumOnTop(rFrustumOnTop_), hFrustum(hFrustum_), rho(rho_) {
55 double getFrustumRadiusOnPlane() {
return rFrustumOnPlane; }
56 double getFrustumRadiusOnTop() {
return rFrustumOnTop; }
57 double getFrustumHeight() {
return hFrustum; }
58 double getRoundingRadius() {
return rho; }
63 void initializeUsingXML(xercesc::DOMElement *element)
override;
66 double rFrustumOnPlane{0};
67 double rFrustumOnTop{0};
72 assert(rFrustumOnTop<rFrustumOnPlane);
73 assert(rFrustumOnTop>1e-6);
75 assert(rho<fabs(hFrustum));
76 assert(rho<rFrustumOnTop);
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
plane without borders and a frustum on reference kos
Definition: planewithfrustum.h:34
PlaneWithFrustum(const std::string &name="", Frame *R=nullptr)
constructor
Definition: planewithfrustum.h:44
basic class for rigid contours
Definition: rigid_contour.h:37
Frame * R
coordinate system of contour
Definition: rigid_contour.h:135
namespace MBSim
Definition: bilateral_constraint.cc:30