chrono::geometry::ChLineArc Class Reference

Description

Geometric object representing an arc or a circle in 3D space.

By default it is evaluated clockwise from angle1 to angle2.

#include <ChLineArc.h>

Inheritance diagram for chrono::geometry::ChLineArc:
Collaboration diagram for chrono::geometry::ChLineArc:

Public Member Functions

 ChLineArc (const ChCoordsys<> morigin=CSYSNULL, const double mradius=1, const double mangle1=CH_C_2PI, const double mangle2=0, const bool mcounterclockwise=false)
 
 ChLineArc (const ChLineArc &source)
 
virtual ChLineArcClone () const override
 "Virtual" copy constructor (covariant return type).
 
virtual GeometryType GetClassType () const override
 "Virtual" copy constructor (covariant return type). More...
 
virtual int Get_complexity () const override
 Tell the complexity.
 
virtual void Evaluate (ChVector<> &pos, const double parU) const override
 Curve evaluation (only parU is used, in 0..1 range)
 
double Length (int sampling) const override
 Returns curve length. sampling does not matter.
 
void SetCounterclockwise (bool mcc)
 
void SetAngle1deg (double a1)
 
void SetAngle2deg (double a2)
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::geometry::ChLine
 ChLine (const ChLine &source)
 
virtual void Derive (ChVector<> &dir, const double parU) const
 Evaluates a tangent versor, given parametric coordinate. More...
 
virtual bool Get_closed () const
 Tell if the curve is closed.
 
virtual void Set_closed (bool mc)
 
virtual void Set_complexity (int mc)
 
virtual int GetManifoldDimension () const override
 This is a line.
 
bool FindNearestLinePoint (ChVector<> &point, double &resU, double approxU, double tol) const
 Find the parameter resU for the nearest point on curve to "point".
 
virtual ChVector GetEndA () const
 Return the start point of the line. More...
 
virtual ChVector GetEndB () const
 Return the end point of the line. More...
 
double CurveCurveDist (ChLine *compline, int samples) const
 Returns adimensional information on "how much" this curve is similar to another in its overall shape (does not matter parametrization or start point). More...
 
double CurveSegmentDist (ChLine *complinesegm, int samples) const
 Same as before, but returns "how near" is complinesegm to whatever segment of this line (does not matter the percentual of line). More...
 
double CurveCurveDistMax (ChLine *compline, int samples) const
 Same as above, but instead of making average of the distances, these functions return the maximum of the distances...
 
double CurveSegmentDistMax (ChLine *complinesegm, int samples) const
 
virtual bool DrawPostscript (ChFile_ps *mfle, int markpoints, int bezier_interpolate)
 Draw into the current graph viewport of a ChFile_ps file.
 
- Public Member Functions inherited from chrono::geometry::ChGeometry
 ChGeometry (const ChGeometry &source)
 
virtual void GetBoundingBox (ChVector<> &cmin, ChVector<> &cmax, const ChMatrix33<> &rot) const
 Compute bounding box along the directions defined by the given rotation matrix. More...
 
void InflateBoundingBox (ChVector<> &cmin, ChVector<> &cmax, const ChMatrix33<> &rot) const
 Enlarge the given existing bounding box with the bounding box of this object.
 
virtual double GetBoundingSphereRadius () const
 Returns the radius of a bounding sphere for this geometry. More...
 
virtual ChVector Baricenter () const
 Compute center of mass.
 
virtual void Update ()
 Generic update of internal data.
 

Public Attributes

ChCoordsys origin
 center position and plane of the arc: xy used for plane, z for axis.
 
double radius
 arc radius
 
double angle1
 start angle in radians
 
double angle2
 end angle in radians
 
bool counterclockwise
 flag indicating arc direction
 

Additional Inherited Members

- Public Types inherited from chrono::geometry::ChGeometry
enum  GeometryType {
  NONE, SPHERE, BOX, CYLINDER,
  TRIANGLE, CAPSULE, CONE, LINE,
  LINE_ARC, LINE_BEZIER, LINE_CAM, LINE_PATH,
  LINE_POLY, LINE_SEGMENT, ROUNDED_BOX, ROUNDED_CYLINDER,
  ROUNDED_CONE, TRIANGLEMESH, TRIANGLEMESH_CONNECTED, TRIANGLEMESH_SOUP
}
 Enumeration of geometric objects.
 
- Protected Attributes inherited from chrono::geometry::ChLine
bool closed
 
int complexityU
 

Member Function Documentation

◆ GetClassType()

virtual GeometryType chrono::geometry::ChLineArc::GetClassType ( ) const
inlineoverridevirtual

"Virtual" copy constructor (covariant return type).

Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism). Each inherited class must return an unique ID.

Reimplemented from chrono::geometry::ChLine.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/geometry/ChLineArc.h
  • /builds/uwsbel/chrono/src/chrono/geometry/ChLineArc.cpp