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 <DiskPlanR.hpp>

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#