CAD Exchanger SDK
cadex::ModelData_Circle Class Reference

Defines 3D circle. More...

Inheritance diagram for cadex::ModelData_Circle:
cadex::ModelData_Conic cadex::ModelData_Curve

Public Member Functions

 ModelData_Circle ()
 Constructor. More...
 
 ModelData_Circle (const ModelData_Axis2Placement &thePosition, double theRadius)
 Constructor. More...
 
 ModelData_Circle (const Handle_C &)
 Constructor.
 
double Radius () const
 Returns radius. More...
 
 operator const Handle_C & () const
 Cast operator.
 
- Public Member Functions inherited from cadex::ModelData_Conic
const ModelData_Axis2PlacementPosition () const
 Returns an axis placement. More...
 
double Parameter (const ModelData_Point &thePoint) const
 Returns parameter for a 3D point. More...
 
 operator const Handle_C & () const
 Cast operator.
 
- Public Member Functions inherited from cadex::ModelData_Curve
 ModelData_Curve ()
 Constructor.
 
 ModelData_Curve (const ModelData_Curve &theOther)
 Constructor.
 
 ModelData_Curve (ModelData_Curve &&theOther)
 Constructor.
 
 ~ModelData_Curve ()
 Destructor.
 
ModelData_Curveoperator= (const ModelData_Curve &theOther)
 Assignment operator.
 
ModelData_Curveoperator= (ModelData_Curve &&theOther)
 Move assignment operator.
 
 operator const Handle_C & () const
 Cast operator.
 
ModelData_CurveType Type () const
 Returns a curve type.
 
bool IsNull () const
 Returns true if the object has not been initialized yet.
 
 operator bool () const
 Returns if the object has been initialized. More...
 
bool IsPeriodic () const
 Returns true if the curve is periodic.
 
double UMin () const
 Returns a minimum parameter of a definition domain. More...
 
double UMax () const
 Returns a maximum parameter of a definition domain. More...
 
void Domain (double &theUMin, double &theUMax) const
 Returns a definition domain. More...
 
ModelData_Point Value (double theParameter) const
 Evaluates a point on the curve. More...
 
ModelData_Curve Reversed () const
 Returns a curve with reversed orientation. More...
 
void Transform (const ModelData_Transformation &theTransformation)
 Applies transformation matrix to this object. More...
 
ModelData_Curve Transformed (const ModelData_Transformation &theTransformation) const
 Returns a copy this object after applying transformation. More...
 
ModelData_Continuity Continuity () const
 Returns a continuity type of the curve.
 
void D0 (double theParameter, ModelData_Point &theValue) const
 Returns the point theValue of parameter theParam. More...
 
void D1 (double theParameter, ModelData_Point &theValue, ModelData_Vector &theD1) const
 Returns the point theValue of parameter theParam and the first derivative theD1. More...
 
void D2 (double theParameter, ModelData_Point &theValue, ModelData_Vector &theD1, ModelData_Vector &theD2) const
 Returns the point theValue of parameter theParam and second derivatives theD1 and theD2. More...
 
bool DN (double theParameter, size_t theDerivativeOrder, ModelData_Point &theValue, ModelData_Vector theD[]) const
 
double Curvature (double theParameter) const
 Returns the curvature value of parameter theParam.
 
void Normal (double theParameter, ModelData_Direction &theNormal) const
 Returns the normal direction theNormal of parameter theParam.
 
void Mirror (const ModelData_Point &thePoint)
 Mirrors the curve relative to the point.
 
void Mirror (const ModelData_Axis1Placement &theAxis)
 Mirrors the curve relative to the axis placement.
 
void Mirror (const ModelData_Axis2Placement &theAxis)
 Mirrors the curve relative to the axis placement.
 
template<typename T >
ModelData_Curve Mirrored (const T &theRef) const
 Returns a copy this curve translated along the vector. More...
 
void Rotate (const ModelData_Axis1Placement &theAxis, double theAngle)
 Rotates the curve around the axis.
 
ModelData_Curve Rotated (const ModelData_Axis1Placement &theAxis, double theAngle)
 Returns a copy this curve rotated along the axis. More...
 
void Translate (const ModelData_Vector &theVector)
 Translates the curve along the vector.
 
ModelData_Curve Translated (const ModelData_Vector &theVector)
 Returns a copy this curve translated along the vector. More...
 
void Scale (const ModelData_Point &thePoint, double theScale)
 Scales the curve with respect to the point.
 
ModelData_Curve Scaled (const ModelData_Point &thePoint, double theScale)
 Returns a copy this curve scaled with respect to the point. More...
 

Additional Inherited Members

- Protected Member Functions inherited from cadex::ModelData_Conic
 ModelData_Conic ()
 Constructor. More...
 
 ModelData_Conic (const Handle_C &, ModelData_CurveType)
 Constructor. More...
 
- Protected Member Functions inherited from cadex::ModelData_Curve
 ModelData_Curve (const Handle_C &, ModelData_CurveType)
 Constructor.
 
internal::ModelData_CurveImpl & Impl ()
 Returns internal implementation object.
 

Detailed Description

Defines 3D circle.

A circle is defined by axis placement and radius. The following image depicts a circle example:

circle.png
Circle

A circle is a periodic curve parametrized as follows: C(t) = P + X * R * cos(t) + Y * R * sin(t), where

  • P is an origin point,
  • X and Y are directions,
  • R is radius
  • t belongs to [0, 2 * PI].
See also
ModelData_Circle2d.
Examples:
brepmodeling/main.cxx, and modelexplorer/main.cxx.

Constructor & Destructor Documentation

◆ ModelData_Circle() [1/2]

cadex::ModelData_Circle::ModelData_Circle ( )
inline

Constructor.

Empty constructor.

◆ ModelData_Circle() [2/2]

cadex::ModelData_Circle::ModelData_Circle ( const ModelData_Axis2Placement thePosition,
double  theRadius 
)

Constructor.

Creates a circle from an axis placement and radius.

Member Function Documentation

◆ Radius()

double cadex::ModelData_Circle::Radius ( ) const

Returns radius.

Returns the value specified in the constructor.

Examples:
modelexplorer/main.cxx.