20#ifndef _FUNCPAIR_CONESECTION_CIRCLE_H_
21#define _FUNCPAIR_CONESECTION_CIRCLE_H_
23#include <mbsim/functions/function.h>
55 double operator()(
const double &phi)
override = 0;
56 double operator[](
const double &phi);
57 virtual fmatvec::Vec3 evalWrD(
const double &phi) = 0;
61 void setDiffVec(fmatvec::Vec3 d_);
63 void setSectionCOS(fmatvec::Vec3 b1_, fmatvec::Vec3 b2_);
88 inline void FuncPairConeSectionCircle::setDiffVec(fmatvec::Vec3 d_) {
91 inline void FuncPairConeSectionCircle::setSectionCOS(fmatvec::Vec3 b1_, fmatvec::Vec3 b2_) {
95 inline double FuncPairConeSectionCircle::operator[](
const double &phi) {
97 return R - nrm2(evalWrD(phi));
99 return nrm2(evalWrD(phi)) -
R;
base root function for planar pairing ConeSection and Circle
Definition: funcpair_conesection_circle.h:32
fmatvec::Vec3 b1
normed base-vectors of cone-section
Definition: funcpair_conesection_circle.h:80
bool sec_IN_ci
cone-section in circle
Definition: funcpair_conesection_circle.h:75
FuncPairConeSectionCircle(double R_, double a_, double b_, bool sec_IN_ci_)
constructor
Definition: funcpair_conesection_circle.h:50
fmatvec::Vec3 d
distance-vector of cone-section- and circle-midpoint
Definition: funcpair_conesection_circle.h:85
double R
radius of circle as well as length in b1- and b2-direction
Definition: funcpair_conesection_circle.h:70
FuncPairConeSectionCircle(double R_, double a_, double b_)
constructor
Definition: funcpair_conesection_circle.h:41
Definition: function.h:53
namespace MBSim
Definition: bilateral_constraint.cc:30