Defines 3D offset curve. More...
#include <cadex/ModelData_OffsetCurve.hxx>
Public Types | |
typedef cadex::internal::ModelData_OffsetCurveImpl | ImplType |
Public Member Functions | |
ModelData_OffsetCurve () | |
Constructor. | |
ModelData_OffsetCurve (const ModelData_Curve &theBasisCurve, double theOffset, const ModelData_Direction &theDir) | |
Constructor. | |
ModelData_OffsetCurve (const Handle_C &) | |
Constructor. | |
ModelData_Curve | BasisCurve () const |
Returns basis curve. | |
const ModelData_Direction & | Direction () const |
Returns reference direction. | |
double | Offset () const |
Returns offset value. | |
![]() | |
ModelData_Curve () | |
Constructor. | |
ModelData_Curve (const ModelData_Curve &theOther) | |
Constructor. | |
ModelData_Curve (ModelData_Curve &&theOther) | |
Constructor. | |
~ModelData_Curve () | |
Destructor. | |
ModelData_Curve & | operator= (const ModelData_Curve &theOther) |
Assignment operator. | |
ModelData_Curve & | operator= (ModelData_Curve &&theOther) |
Move assignment operator. | |
ModelData_CurveType | Type () const |
Returns a curve type. | |
bool | IsNull () const |
Returns true if the object has not been initialized yet. | |
void | Nullify () |
Resets the object. | |
operator bool () const | |
Returns if the object has been initialized. | |
bool | IsPeriodic () const |
Returns true if the curve is periodic. | |
double | UMin () const |
Returns a minimum parameter of a definition domain. | |
double | UMax () const |
Returns a maximum parameter of a definition domain. | |
void | Domain (double &theUMin, double &theUMax) const |
Returns a definition domain. | |
ModelData_Point | Value (double theParameter) const |
Evaluates a point on the curve. | |
ModelData_Curve | Reversed () const |
Returns a curve with reversed orientation. | |
void | Transform (const ModelData_Transformation &theTransformation) |
Applies transformation matrix to this object. | |
ModelData_Curve | Transformed (const ModelData_Transformation &theTransformation) const |
Returns a copy this object after applying transformation. | |
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. | |
void | D1 (double theParameter, ModelData_Point &theValue, ModelData_Vector &theD1) const |
Returns the point theValue of parameter theParam and the first derivative theD1. | |
void | D2 (double theParameter, ModelData_Point &theValue, ModelData_Vector &theD1, ModelData_Vector &theD2) const |
Returns the point theValue of parameter theParam, the first theD1 and second theD2 derivatives. | |
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. | |
ModelData_Curve | Mirrored (const ModelData_Point &theRef) const |
Returns a copy this curve mirrored along the object. | |
ModelData_Curve | Mirrored (const ModelData_Axis1Placement &theAxis) const |
Returns a copy this curve mirrored along the object. | |
ModelData_Curve | Mirrored (const ModelData_Axis2Placement &theAxis) const |
Returns a copy this curve mirrored along the object. | |
void | Rotate (const ModelData_Axis1Placement &theAxis, double theAngle) |
Rotates the curve around the axis. | |
ModelData_Curve | Rotated (const ModelData_Axis1Placement &theAxis, double theAngle) const |
Returns a copy this curve rotated along the axis. | |
void | Translate (const ModelData_Vector &theVector) |
Translates the curve along the vector. | |
ModelData_Curve | Translated (const ModelData_Vector &theVector) const |
Returns a copy this curve translated along the vector. | |
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) const |
Returns a copy this curve scaled with respect to the point. | |
Public Attributes | |
operator Handle_C const | |
![]() | |
operator Handle_C const | |
Defines 3D offset curve.
An offset curve is defined by a basis curve, reference direction and offset value.
The following image depicts an example of a planar offset curve:
A basis curve must be at least G1-continous, otherwise behavior is undefined (most likely an exception will be thrown).
An offset curve is parametrized as follows: \(\mathbf{C}(t) = \mathbf{B}(t) + \mathrm{offset}\cdot\mathbf{V}(t)\), where
If the basis curve is planar and reference direction \(\mathbf{D}\) is perpendicular to a plane of the basis curve, then the offset curve also belongs to that plane and is shifted by \(\mathrm{offset}\) value from the basis curve.
IsPeriodic() returns a value returned by the basis curve.
|
inline |
Constructor.
Empty constructor.
cadex::ModelData_OffsetCurve::ModelData_OffsetCurve | ( | const ModelData_Curve & | theBasisCurve, |
double | theOffset, | ||
const ModelData_Direction & | theDir | ||
) |
Constructor.
If theBasisCurve is an offset curve then its basis curve will be used as a basis curve and offset will be a sum of theOffset and the offset value of the theBasisCurve.
theBasisCurve must be at least G1-continuous, otherwise behavior is undefined.
const ModelData_Direction & cadex::ModelData_OffsetCurve::Direction | ( | ) | const |
Returns reference direction.
Returns the value specified in constructor.
double cadex::ModelData_OffsetCurve::Offset | ( | ) | const |
Returns offset value.
Returns the value specified in constructor.