File mechanics/src/collision/native/bodies/DiskPlanR.hpp

Go to the source code of this file

class DiskPlanR : public LagrangianScleronomousR, public std::enable_shared_from_this<DiskPlanR>
#include <>

disk - plan relation - Inherits from LagrangianScleronomousR

Public Functions

DiskPlanR(double r, double A, double B, double C)

Infinite Plan.

Parameters
  • r – disk radius

  • A – component of line equation Ax + By + C = 0

  • B – component of line equation Ax + By + C = 0

  • C – component of line equation Ax + By + C = 0

DiskPlanR(double disk, double A, double B, double C, double xCenter, double yCenter, double width)

Finite or infinite Plan (segment)

Parameters
  • disk – radius

  • A

  • B

  • C

  • xCenter

  • yCenter

  • width

DiskPlanR(double, double, double, double, double)

Finite Plan.

~DiskPlanR() noexcept = default
double distance(double x, double y, double r) const
inline double getRadius() const
inline double getA() const
inline double getB() const
inline double getC() const
inline double gethypotAB() const
inline double getXCenter() const
inline double getYCenter() const
inline double getWidth() const
void computeh(const BlockVector &q, BlockVector &z, SiconosVector &y)

to compute the output y = h(t,q,z) of the Relation

Parameters
  • q – coordinates of the dynamical systems involved in the relation

  • z – user defined parameters (optional)

  • y – the resulting vector

void computeJachq(const BlockVector &q, BlockVector &z)

to compute the jacobian of h(…).

Set attribute _jachq (access: jacqhq())

Parameters
  • q – coordinates of the dynamical systems involved in the relation

  • z – user defined parameters (optional)

bool equal(double, double, double, double) const
bool equal(double, double, double, double, double, double, double) const
bool equal(const DiskPlanR&) const
inline bool isFinite() const
ACCEPT_VISITORS()

Private Functions

ACCEPT_SERIALIZATION(DiskPlanR)
void init(double, double, double, double, double, double, double)

Private Members

double r
double A
double B
double C
double sqrA2pB2
double AC
double B2
double A2
double AB
double BC
double xCenter
double yCenter
double width
double halfWidth
double x1
double x2
double y1
double y2
bool finite