CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
OdGeLineSeg3d Class Reference

#include <GeLineSeg3d.h>

Inheritance diagram for OdGeLineSeg3d:
OdGeLinearEnt3d OdGeCurve3d OdGeEntity3d

Public Member Functions

 OdGeLineSeg3d ()
 
 OdGeLineSeg3d (const OdGeLineSeg3d &source)
 
 OdGeLineSeg3d (const OdGePoint3d &point, const OdGeVector3d &vect)
 
 OdGeLineSeg3d (const OdGePoint3d &point1, const OdGePoint3d &point2)
 
void getBisector (OdGePlane &plane) const
 
OdGePoint3d baryComb (double blendCoeff) const
 
OdGePoint3d startPoint () const
 
OdGePoint3d endPoint () const
 
OdGeLineSeg3dset (const OdGePoint3d &point, const OdGeVector3d &vect)
 
OdGeLineSeg3dset (const OdGePoint3d &point1, const OdGePoint3d &point2)
 
OdGeLineSeg3dset (const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, double &param1, double &param2, bool &success)
 
OdGeLineSeg3dset (const OdGeCurve3d &curve, const OdGePoint3d &point, double &param, bool &success)
 
OdGeLineSeg3doperator= (const OdGeLineSeg3d &line)
 
double getDistanceToVector (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeLineSeg3djoinWith (const OdGeLineSeg3d &curve, const OdGeTol &iTolerance=OdGeContext::gTol)
 
- Public Member Functions inherited from OdGeLinearEnt3d
bool intersectWith (const OdGeLinearEnt3d &line, OdGePoint3d &intPt, const OdGeTol &tol=OdGeContext::gTol) const
 
bool intersectWith (const OdGePlanarEnt &plane, OdGePoint3d &intPnt, const OdGeTol &tol=OdGeContext::gTol) const
 
bool projIntersectWith (const OdGeLinearEnt3d &line, const OdGeVector3d &projDir, OdGePoint3d &pntOnThisLine, OdGePoint3d &pntOnOtherLine, const OdGeTol &tol=OdGeContext::gTol) const
 
bool overlap (const OdGeLinearEnt3d &line, OdGeLinearEnt3d *&overlap, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeCurve3d::isOn)
 
bool isOn (const OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isParallelTo (const OdGeLinearEnt3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isParallelTo (const OdGePlanarEnt &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPerpendicularTo (const OdGeLinearEnt3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPerpendicularTo (const OdGePlanarEnt &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isColinearTo (const OdGeLinearEnt3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
void getPerpPlane (const OdGePoint3d &point, OdGePlane &plane) const
 
OdGePoint3d pointOnLine () const
 
OdGeVector3d direction () const
 
void getLine (OdGeLine3d &line) const
 
OdGeLinearEnt3doperator= (const OdGeLinearEnt3d &line)
 
- 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
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, double &param, const OdGeInterval *range, 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
 
OdGeExtents3d getGeomExtents (const OdGeInterval &range=OdGeInterval(), const OdGeMatrix3d *coordSystem=NULL) 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
 
double paramOf (const OdGePoint3d &point, const OdGeInterval *range, 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
 
bool hasMidPoint (OdGePoint3d &point, double coef=0.5) const
 
OdGePoint3d midPoint (double coef=0.5) 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
 
OdGeCurve2dconvertTo2d (const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false) 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 OdGeLinearEnt3d
 OdGeLinearEnt3d ()
 
 OdGeLinearEnt3d (const OdGeLinearEnt3d &source)
 
- 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 line segments in 3D space. 3D line segment can be defined with a start and end points or with a point and a non-zero vector that specifies segment length and direction. By default its start parameter equals to 0.0 and end parameter equals to 1.0.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeLineSeg, Working with Line Segments>

Definition at line 46 of file GeLineSeg3d.h.

Constructor & Destructor Documentation

◆ OdGeLineSeg3d() [1/4]

OdGeLineSeg3d::OdGeLineSeg3d ( )

Default constructor for objects of the OdGeLineSeg3d class. Constructs a line segment between the points (0.0, 0.0, 0.0) and (1.0, 0.0, 0.0).

◆ OdGeLineSeg3d() [2/4]

OdGeLineSeg3d::OdGeLineSeg3d ( const OdGeLineSeg3d source)

Constructor for objects of the OdGeLineSeg3d class.

Parameters
source[in] Object to be copied.

◆ OdGeLineSeg3d() [3/4]

OdGeLineSeg3d::OdGeLineSeg3d ( const OdGePoint3d point,
const OdGeVector3d vect 
)

Constructor for objects of the OdGeLineSeg3d class.

Parameters
point[in] First point of the line segment.
vect[in] A 3D vector that defines the line direction and second point.
Remarks
Constructs a line segment between the points: point and point + vect. The vect vector can have a zero length.

◆ OdGeLineSeg3d() [4/4]

OdGeLineSeg3d::OdGeLineSeg3d ( const OdGePoint3d point1,
const OdGePoint3d point2 
)

Constructor for objects of the OdGeLineSeg3d class.

Parameters
point1[in] Start point of the line segment.
point2[in] Second point of the line segment.
Remarks
Points point1 and point2 can be coincident. Constructs a line segment between the specified points.

Member Function Documentation

◆ baryComb()

OdGePoint3d OdGeLineSeg3d::baryComb ( double  blendCoeff) const

Returns the weighted average of the start point and end point of this line segment.

Parameters
blendCoeff[in] Blend coefficient.
Returns
An instance of the OdGePoint3d class.
Remarks
Returns 0 Start point 1 End point 0 to 1 Point on this line segment < 0 or > 1 Point not on this line segment, but collinear with it

◆ endPoint()

OdGePoint3d OdGeLineSeg3d::endPoint ( ) const

Returns the end point of this line segment.

Returns
An instance of the OdGePoint3d class.

◆ getBisector()

void OdGeLineSeg3d::getBisector ( OdGePlane plane) const

Gets the unbounded perpendicular bisecting plane of this line segment.

Parameters
plane[out] Receives the bisecting plane.

◆ getDistanceToVector()

double OdGeLineSeg3d::getDistanceToVector ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Deprecated! Use distanceTo instead.

Returns the distance to a vector.

Parameters
point[in] A 3D point from which the distance is calculated.
tol[in] Tolerance.

◆ joinWith()

OdGeLineSeg3d & OdGeLineSeg3d::joinWith ( const OdGeLineSeg3d curve,
const OdGeTol iTolerance = OdGeContext::gTol 
)

Attaches to the end of itself another curve.

Parameters
curve[in] Link to the join curve.
iTolerance[in] Geometric tolerance.
Remarks
The end of the current curve should coincide with the beginning of the next curve.

◆ operator=()

OdGeLineSeg3d & OdGeLineSeg3d::operator= ( const OdGeLineSeg3d line)

Assignment operator for the OdGeLineSeg3d object.

Parameters
line[in] Linear segment to assign.
Returns
A reference to this OdGeLinearEnt3d object.

◆ set() [1/4]

OdGeLineSeg3d & OdGeLineSeg3d::set ( const OdGeCurve3d curve,
const OdGePoint3d point,
double &  param,
bool &  success 
)

Sets the parameters for this line segment according to the arguments and returns a reference to this line segment.

Parameters
curve[in] A curve to which a line segment will be tangent.
point[in] A 3D point through which a line segment passes.
param[in] A point on curve where line segment is tangent to curve.
success[out] Indicates that tangent line was computed successfully. If false, the line segment does not change.
Returns
Reference to this OdGeLineSeg3d object.
Remarks
The point must lie on the plane of the curve and the curve must be planar.

◆ set() [2/4]

OdGeLineSeg3d & OdGeLineSeg3d::set ( const OdGeCurve3d curve1,
const OdGeCurve3d curve2,
double &  param1,
double &  param2,
bool &  success 
)

Sets the parameters for this line segment according to the arguments and returns a reference to this line segment.

Parameters
curve1[in] First 3D curve to which a line segment must be tangent.
curve2[in] Second 3D curve to which a line segment must be tangent.
param1[in] Point on curve1 where line segment is tangent to curve.
param2[in] Point on curve2 where line segment is tangent to curve.
success[out] Indicates that tangent line was computed successfully. If false, the line segment does not change.
Returns
Reference to this OdGeLineSeg3d object.

◆ set() [3/4]

OdGeLineSeg3d & OdGeLineSeg3d::set ( const OdGePoint3d point,
const OdGeVector3d vect 
)

Sets the parameters for this line according to the arguments and returns a reference to this line.

Parameters
point[in] Start point of the line segment.
vect[in] A 3D vector that defines the line direction and second point.
Returns
Reference to this OdGeLineSeg3d object.
Remarks
Constructs a line segment between the points: point and point + vect. The vect vector can have a zero length.

◆ set() [4/4]

OdGeLineSeg3d & OdGeLineSeg3d::set ( const OdGePoint3d point1,
const OdGePoint3d point2 
)

Sets the parameters for this line according to the arguments and returns a reference to this line.

Parameters
point1[in] First point of the line segment.
point2[in] Second point of the line segment.
Returns
Reference to this OdGeLineSeg3d object.
Remarks
Constructs a line segment between points point1 and point2. The points can be coincident.

◆ startPoint()

OdGePoint3d OdGeLineSeg3d::startPoint ( ) const

Returns the start point of this line segment.

Returns
An instance of the OdGePoint3d class.

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