chrono::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::ChLineArc:

Collaboration diagram for chrono::ChLineArc:

## Public Member Functions | |

ChLineArc (const ChCoordsys<> &morigin=CSYSNULL, double mradius=1, double mangle1=CH_2PI, double mangle2=0, bool mcounterclockwise=false) | |

ChLineArc (const ChLineArc &source) | |

virtual ChLineArc * | Clone () const override |

"Virtual" copy constructor (covariant return type). | |

virtual Type | GetType () const override |

Get the class type as an enum. | |

virtual int | GetComplexity () const override |

Tell the complexity. | |

virtual ChVector3d | Evaluate (double U) const override |

Return a point on the line, given parametric coordinate U (in [0,1]). | |

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 &archive_out) override |

Method to allow serialization of transient data to archives. | |

virtual void | ArchiveIn (ChArchiveIn &archive_in) override |

Method to allow de-serialization of transient data from archives. | |

Public Member Functions inherited from chrono::ChLine | |

ChLine (const ChLine &source) | |

virtual ChVector3d | GetTangent (double parU) const |

Return the tangent unit vector at the parametric coordinate U (in [0,1]). More... | |

virtual bool | IsClosed () const |

Tell if the curve is closed. | |

virtual void | SetClosed (bool mc) |

virtual void | SetComplexity (int mc) |

virtual int | GetManifoldDimension () const override |

This is a line. | |

bool | FindNearestLinePoint (ChVector3d &point, double &resU, double approxU, double tol) const |

Find the parameter resU for the nearest point on curve to "point". | |

virtual ChVector3d | GetEndA () const |

Return the start point of the line. More... | |

virtual ChVector3d | 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 |

Public Member Functions inherited from chrono::ChGeometry | |

ChGeometry (const ChGeometry &other) | |

virtual ChAABB | GetBoundingBox () const |

Compute bounding box along the directions of the shape definition frame. More... | |

void | InflateBoundingBox (ChAABB &bbox) 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 ChVector3d | 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::ChGeometry | |

enum | Type { NONE,
SPHERE,
ELLIPSOID,
BOX,
CYLINDER,
TRIANGLE,
CAPSULE,
CONE,
LINE,
LINE_ARC,
LINE_BEZIER,
LINE_CAM,
LINE_PATH,
LINE_POLY,
LINE_SEGMENT,
ROUNDED_BOX,
ROUNDED_CYLINDER,
TRIANGLEMESH,
TRIANGLEMESH_CONNECTED,
TRIANGLEMESH_SOUP
} |

Enumeration of geometric object types. | |

Protected Attributes inherited from chrono::ChLine | |

bool | closed |

int | complexityU |

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