CFx SDK Documentation  2023 SP0
Public Member Functions | List of all members
OdGeOffsetCurve3d Class Reference

#include <GeOffsetCurve3d.h>

Inheritance diagram for OdGeOffsetCurve3d:
OdGeCurve3d OdGeEntity3d

Public Member Functions

 OdGeOffsetCurve3d (const OdGeCurve3d &baseCurve, const OdGeVector3d &planeNormal, double offsetDistance)
 
 OdGeOffsetCurve3d (const OdGeOffsetCurve3d &source)
 
const OdGeCurve3dcurve () const
 
OdGeVector3d normal () const
 
double offsetDistance () const
 
bool paramDirection () const
 
OdGeMatrix3d transformation () const
 
OdGeOffsetCurve3dsetCurve (const OdGeCurve3d &baseCurve)
 
OdGeOffsetCurve3dsetNormal (const OdGeVector3d &planeNormal)
 
OdGeOffsetCurve3dsetOffsetDistance (double offsetDistance)
 
OdGeOffsetCurve3doperator= (const OdGeOffsetCurve3d &offsetCurve)
 
- Public Member Functions inherited from OdGeCurve3d
void getInterval (OdGeInterval &interval) const
 
void getInterval (OdGeInterval &interval, OdGePoint3d &start, OdGePoint3d &end) const
 
OdGeCurve3dreverseParam ()
 
OdGeCurve3dsetInterval ()
 
bool setInterval (const OdGeInterval &interval)
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGeCurve3d &curve, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGeCurve3d &curve, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGeCurve3d &curve, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getNormalPoint (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeBoundBlock3d boundBlock () const
 
OdGeBoundBlock3d boundBlock (const OdGeInterval &range) const
 
OdGeBoundBlock3d orthoBoundBlock () const
 
OdGeBoundBlock3d orthoBoundBlock (const OdGeInterval &range) const
 
OdGeEntity3dproject (const OdGePlane &projectionPlane, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dorthoProject (const OdGePlane &projectionPlane, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, double &param, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isOn (double param, const OdGeTol &tol=OdGeContext::gTol) const
 
double paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
void getTrimmedOffset (double distance, const OdGeVector3d &planeNormal, OdGeCurve3dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPlanar (OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isLinear (OdGeLine3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isCoplanarWith (const OdGeCurve3d &curve, OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPeriodic (double &period) const
 
double length (double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const
 
double length (double tol=OdGeContext::gTol.equalPoint()) const
 
double paramAtLength (double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const
 
bool area (double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGe::EntityId &degenerateType, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGeEntity3d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
 
void getSplitCurves (double param, OdGeCurve3d *&piece1, OdGeCurve3d *&piece2) const
 
bool explode (OdGeCurve3dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurves, const OdGeInterval *pInterval=NULL) const
 
void getLocalClosestPoints (const OdGePoint3d &point, OdGePointOnCurve3d &approxPntOnThisCrv, const OdGeInterval *pInterval1=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
void getLocalClosestPoints (const OdGeCurve3d &curve, OdGePointOnCurve3d &approxPntOnThisCrv, OdGePointOnCurve3d &approxPntOnOtherCrv, const OdGeInterval *pInterval1=NULL, const OdGeInterval *pInterval2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
bool hasStartPoint (OdGePoint3d &startPoint) const
 
bool hasEndPoint (OdGePoint3d &endPoint) const
 
OdGePoint3d evalPoint (double param) const
 
OdGePoint3d evalPoint (double param, int numDeriv, OdGeVector3dArray &derivatives) const
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray, bool forceResampling=false) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray) const
 
OdGeCurve3doperator= (const OdGeCurve3d &curve)
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *paramArray=NULL) const
 
void getSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
double paramOf (const OdGePoint3d &point, const OdGeInterval *range, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeExtents3d getGeomExtents (const OdGeInterval &range=OdGeInterval(), const OdGeMatrix3d *coordSystem=NULL) const
 
void evaluate (double param, int numDeriv, OdGeVector3d *values) const
 
- Public Member Functions inherited from OdGeEntity3d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity3d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity3dcopy () const
 
OdGeEntity3doperator= (const OdGeEntity3d &entity)
 
bool operator== (const OdGeEntity3d &entity) const
 
bool operator!= (const OdGeEntity3d &entity) const
 
bool isEqualTo (const OdGeEntity3d &object, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dtransformBy (const OdGeMatrix3d &xfm)
 
OdGeEntity3dtranslateBy (const OdGeVector3d &translateVec)
 
OdGeEntity3drotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
OdGeEntity3dmirror (const OdGePlane &plane)
 
OdGeEntity3dscaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
bool isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 

Additional Inherited Members

- Protected Member Functions inherited from OdGeCurve3d
 OdGeCurve3d ()
 
 OdGeCurve3d (const OdGeCurve3d &source)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class represents 3D curves that are exact offsets of other curves.

Remarks
Every GeOffsetCurve2d contains a pointer to the curve from which it is offest. Modifying the base curve modifies the offset curve. Modifying the offset curve does not modify the base curve. setInterval() for an offset curve result create a curve that is an offset of the specified interval in the base curve.

This curve may be self-intersecting, even if the base curve is not. To create offset curves that are not self-intersecting, use OdGeCurve3d::getTrimmedOffset().

The base curve must be planar, and a normal to the plane must be specified. Positive offset distances at any point on the base curve are defined as 90° counterclockwise from the tangent of the base curve at that point.

An offset curve with a 0.0 offset distance is exact replica of the base curve. An offseet curve with a non-zero 0.0 offset distance has a continuity of one less than that of the base curve. To insure that the offset curve is a valid curve, the base curve must have a continuity of at least 1.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

Definition at line 56 of file GeOffsetCurve3d.h.

Constructor & Destructor Documentation

◆ OdGeOffsetCurve3d() [1/2]

OdGeOffsetCurve3d::OdGeOffsetCurve3d ( const OdGeCurve3d baseCurve,
const OdGeVector3d planeNormal,
double  offsetDistance 
)
Parameters
planeNormal[in] A normal to the plane of the base curve.
baseCurve[in] Any 3D curve.
offsetDistance[in] Offset distance.
source[in] Object to be cloned.

◆ OdGeOffsetCurve3d() [2/2]

OdGeOffsetCurve3d::OdGeOffsetCurve3d ( const OdGeOffsetCurve3d source)

Member Function Documentation

◆ curve()

const OdGeCurve3d* OdGeOffsetCurve3d::curve ( ) const

Returns the base curve.

◆ normal()

OdGeVector3d OdGeOffsetCurve3d::normal ( ) const

Returns the normal to the base curve as a unit vector.

◆ offsetDistance()

double OdGeOffsetCurve3d::offsetDistance ( ) const

Returns the offset distance of this curve.

◆ operator=()

OdGeOffsetCurve3d& OdGeOffsetCurve3d::operator= ( const OdGeOffsetCurve3d offsetCurve)

◆ paramDirection()

bool OdGeOffsetCurve3d::paramDirection ( ) const

Returns true if and only if this curve has the same parameter direction as the base curve.

Remarks
Currently not implemented.

◆ setCurve()

OdGeOffsetCurve3d& OdGeOffsetCurve3d::setCurve ( const OdGeCurve3d baseCurve)

Sets the base curve for this curve.

Parameters
baseCurve[in] Any 3D curve.

◆ setNormal()

OdGeOffsetCurve3d& OdGeOffsetCurve3d::setNormal ( const OdGeVector3d planeNormal)

Sets the normal to the plane of the base curve.

Parameters
planeNormal[in] A normal to the plane of the base curve.

◆ setOffsetDistance()

OdGeOffsetCurve3d& OdGeOffsetCurve3d::setOffsetDistance ( double  offsetDistance)

Sets the offset distance for this curve.

Parameters
offsetDistance[in] Offset distance.

◆ transformation()

OdGeMatrix3d OdGeOffsetCurve3d::transformation ( ) const

Returns the concatination of the transformation matrices applied to this curve with transformBy().

Remarks
If no transformation matrices have been applied to this curve, returns the indentity matrix.
Currently not implemented.

The documentation for this class was generated from the following file: