MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::geometry::ChLine Class Reference

#include <CHcLine.h>

Inheritance diagram for chrono::geometry::ChLine:

Inheritance graph
[legend]
Collaboration diagram for chrono::geometry::ChLine:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChLine (const ChLine &source)
void Copy (const ChLine *source)
ChGeometryDuplicate ()
virtual int GetClassType ()
virtual int Get_closed ()
virtual void Set_closed (int mc)
virtual int Get_complexity ()
virtual void Set_complexity (int mc)
virtual int GetManifoldDimension ()
int FindNearestLinePoint (Vector &point, double &resU, double approxU, double tol)
virtual double Lenght (int sampling)
double CurveCurveDist (ChLine *compline, int samples)
double CurveSegmentDist (ChLine *complinesegm, int samples)
double CurveCurveDistMax (ChLine *compline, int samples)
double CurveSegmentDistMax (ChLine *complinesegm, int samples)
virtual int DrawPostscript (ChFile_ps *mfle, int markpoints, int bezier_interpolate)
void StreamOUT (ChStreamOutBinary &mstream)
void StreamIN (ChStreamInBinary &mstream)

Protected Attributes

int closed
int complexityU


Detailed Description

LINE.

Base class for all geometric objects representing lines in 3D space.


Member Function Documentation

virtual int chrono::geometry::ChLine::GetClassType (  )  [virtual]

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::ChGeometry.

Reimplemented in chrono::geometry::ChLineCam, and chrono::geometry::ChLinePoly.

virtual int chrono::geometry::ChLine::Get_closed (  )  [virtual]

Tell if the curve is closed.

Reimplemented in chrono::geometry::ChLineCam, and chrono::geometry::ChLinePoly.

virtual int chrono::geometry::ChLine::Get_complexity (  )  [virtual]

Tell the complexity.

Reimplemented in chrono::geometry::ChLinePoly.

virtual int chrono::geometry::ChLine::GetManifoldDimension (  )  [virtual]

This is a line.

Reimplemented from chrono::geometry::ChGeometry.

int chrono::geometry::ChLine::FindNearestLinePoint ( Vector point,
double &  resU,
double  approxU,
double  tol 
)

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

double chrono::geometry::ChLine::Lenght ( int  sampling  )  [virtual]

Returns curve lenght. Typical sampling 1..5 (1 already gives correct result with degree1 curves).

Reimplemented in chrono::geometry::ChLinePoly.

double chrono::geometry::ChLine::CurveCurveDist ( ChLine compline,
int  samples 
)

Returns an adimensional information on "how much" this curve is similar to another in its overall shape (doesnot matter parametrization or start point). Try with 20 samples. The return value is somewhat the "average distance between the two curves". Note that the result is affected by "weight" of curves. If it chnges from default 1.0, the distance extimation is higher/lower (ex: if a curve defines low 'weight' in its central segment, its CurveCurveDistance from another segment is not much affected by errors near the central segment).

double chrono::geometry::ChLine::CurveSegmentDist ( ChLine complinesegm,
int  samples 
)

Again, this is affected by "weight" of curves. If weight changes along curves ->'weighted' distance.

Same as before, but returns "how near" is complinesegm to whatever segment of this line (does not matter the percentual of line).

double chrono::geometry::ChLine::CurveCurveDistMax ( ChLine compline,
int  samples 
)

Same as above, but instead of making average of the distances, these functions return the maximum of the distances...

int chrono::geometry::ChLine::DrawPostscript ( ChFile_ps mfle,
int  markpoints,
int  bezier_interpolate 
) [virtual]

Draw into the current graph viewport of a ChFile_ps file.

Reimplemented in chrono::geometry::ChLinePoly.


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on 17 Jul 2009 by Doxygen