CFx SDK Documentation  2020SP3
Public Member Functions | Protected Member Functions | List of all members
OdGeSurface Class Reference

#include <GeSurface.h>

Inheritance diagram for OdGeSurface:
OdGeEntity3d OdGeCone OdGeCylinder OdGeEllipCone OdGeEllipCylinder OdGeExternalBoundedSurface OdGeExternalSurface OdGeNurbSurface OdGeOffsetSurface OdGePlanarEnt OdGeRevolvedSurface OdGeSphere OdGeSpunSurf OdGeTorus

Public Member Functions

OdGePoint2d paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, OdGePoint2d &paramPoint, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isNormalReversed () const
 
OdGeSurfacereverseNormal ()
 
void getEnvelope (OdGeInterval &intrvlU, OdGeInterval &intrvlV) const
 
bool isClosedInU (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosedInV (const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
 
OdGeSurfaceoperator= (const OdGeSurface &surf)
 
bool project (const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getReparameterization (bool &swapUV, double &uCoeffA, double &vCoeffA, double &uCoeffB, double &vCoeffB) const
 
void setReparameterization (bool swapUV=false, double uCoeffA=1., double vCoeffA=1., double uCoeffB=0., double vCoeffB=0.)
 
void getImplicitEnvelope (OdGeInterval &implicitIntrvlU, OdGeInterval &implicitIntrvlV) const
 
bool setEnvelope (const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV)
 
- 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
 

Protected Member Functions

 OdGeSurface ()
 
 OdGeSurface (const OdGeSurface &surf)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class is the base class for all OdGe parametric surfaces.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

Definition at line 47 of file GeSurface.h.

Constructor & Destructor Documentation

◆ OdGeSurface() [1/2]

OdGeSurface::OdGeSurface ( )
protected

◆ OdGeSurface() [2/2]

OdGeSurface::OdGeSurface ( const OdGeSurface surf)
protected

Member Function Documentation

◆ closestPointTo()

OdGePoint3d OdGeSurface::closestPointTo ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this surface closest to the specified point.

Parameters
point[in] Any 3D point.
tol[in] Geometric tolerance.

◆ distanceTo()

double OdGeSurface::distanceTo ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the distance to the point on this curve closest to the specified point.

Parameters
point[in] Any 3D point.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ evalPoint() [1/3]

OdGePoint3d OdGeSurface::evalPoint ( const OdGePoint2d param) const

Returns the point corresponding to the parameter pair, as well as the derivatives and the normal at that point.

Parameters
param[in] The parameter pair to be evaluated.
Remarks
Derivatives are ordered as follows: du, dv, dudu, dvdv, dudv.
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ evalPoint() [2/3]

OdGePoint3d OdGeSurface::evalPoint ( const OdGePoint2d param,
int  numDeriv,
OdGeVector3dArray derivatives 
) const

Returns the point corresponding to the parameter pair, as well as the derivatives and the normal at that point.

Parameters
param[in] The parameter pair to be evaluated.
numDeriv[in] The number of derivatives to be computed.
derivatives[out] Receives an array of derivatives at the point corresponding to param.
Remarks
Derivatives are ordered as follows: du, dv, dudu, dvdv, dudv
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ evalPoint() [3/3]

OdGePoint3d OdGeSurface::evalPoint ( const OdGePoint2d param,
int  numDeriv,
OdGeVector3dArray derivatives,
OdGeVector3d normal 
) const

Returns the point corresponding to the parameter pair, as well as the derivatives and the normal at that point.

Parameters
param[in] The parameter pair to be evaluated.
numDeriv[in] The number of derivatives to be computed.
derivatives[out] Receives an array of derivatives at the point corresponding to param.
normal[out] Receives the normal at the point corresponding to param.
Remarks
Derivatives are ordered as follows: du, dv, dudu, dvdv, dudv
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getClosestPointTo()

void OdGeSurface::getClosestPointTo ( const OdGePoint3d point,
OdGePointOnSurface pntOnSurface,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this surface closest to the specified point.

Parameters
point[in] Any 3D point.
pntOnSurface[out] Receives the closest point on surface to specified point.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getEnvelope()

void OdGeSurface::getEnvelope ( OdGeInterval intrvlU,
OdGeInterval intrvlV 
) const

Returns the minimum rectangle in parameter space that contains the parameter domain of this surface.

Parameters
intrvlU[out] Receives the u interval.
intrvlV[out] Receives the v interval.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getImplicitEnvelope()

void OdGeSurface::getImplicitEnvelope ( OdGeInterval implicitIntrvlU,
OdGeInterval implicitIntrvlV 
) const

Returns the minimum rectangle in parameter space that contains the implicit parameter domain of this surface.

Parameters
implicitIntrvlU[out] Receives the implicit u interval.
implicitIntrvlV[out] Receives the implicit v interval.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getReparameterization()

bool OdGeSurface::getReparameterization ( bool &  swapUV,
double &  uCoeffA,
double &  vCoeffA,
double &  uCoeffB,
double &  vCoeffB 
) const

Returns true if and only if this surface has reparameterization, and returns the swap flag value and u- and v-coefficients.

Parameters
swapUV[out] Receives the current uv parameter swap flag value. If returns true, uv parameters were swapped; returns false in the other case.
uCoeffA[out] Receives the current value of the uCoeffA coefficient.
vCoeffA[out] Receives the current value of the vCoeffA coefficient.
uCoeffB[out] Receives the current value of the uCoeffB coefficient.
vCoeffB[out] Receives the current value of the vCoeffB coefficient.

◆ isClosedInU()

bool OdGeSurface::isClosedInU ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if this surface is closed in the U direction.

Parameters
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ isClosedInV()

bool OdGeSurface::isClosedInV ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if this surface is closed in the V direction.

Parameters
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ isNormalReversed()

bool OdGeSurface::isNormalReversed ( ) const

Returns true if and only if the normal of this surface has been reversed an odd number of times.

◆ isOn()

bool OdGeSurface::isOn ( const OdGePoint3d point,
OdGePoint2d paramPoint,
const OdGeTol tol = OdGeContext::gTol 
) const
Parameters
ParamPoint[out] Receives the 2D pair of parameter values at the point.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ operator=()

OdGeSurface& OdGeSurface::operator= ( const OdGeSurface surf)

◆ paramOf()

OdGePoint2d OdGeSurface::paramOf ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the 2D pair of parameter values of a point on this surface.

Parameters
point[in] Point to be evaluated.
tol[in] Geometric tolerance.
Remarks
The returned parameters specify a point within tol of point. If point is not on this surface, the results are unpredictable. If you are not sure the point is on this surface, use isOn() instead of this function.
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ project()

bool OdGeSurface::project ( const OdGePoint3d p,
OdGePoint3d projP,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns projP and true, if and only if there is a point on this surface, projP, where a normal to this surface passes through the point p.

Parameters
p[in] Any 3D point.
projP[out] Receives the point on this surface.

◆ reverseNormal()

OdGeSurface& OdGeSurface::reverseNormal ( )

Reverses the normal of this surface and returns a reference to this surface.

◆ setEnvelope()

bool OdGeSurface::setEnvelope ( const OdGeInterval realIntrvlU,
const OdGeInterval realIntrvlV 
)

Set the rectangle in parameter space that defines the parameter domain of this surface.

Returns
Returns true if and only the new parameter domain was successfully set for this surface.
Parameters
realIntrvlU[in] A reference to a new real u interval to be set.
realIntrvlV[in] A reference to a new real v interval to be set.

◆ setReparameterization()

void OdGeSurface::setReparameterization ( bool  swapUV = false,
double  uCoeffA = 1.,
double  vCoeffA = 1.,
double  uCoeffB = 0.,
double  vCoeffB = 0. 
)

Sets a new swap flag value, and u- and v-coefficients to new values.

Parameters
swapUV[in] A new value of the swap flag to be set. Default value is false.
uCoeffA[in] A new uCoeffA value. Default value is 1.0.
vCoeffA[in] A new vCoeffA value. Default value is 1.0.
uCoeffB[in] A new uCoeffB value. Default value is 0.0.
vCoeffB[in] A new vCoeffB value. Default value is 0.0.

◆ TD_USING()

OdGeSurface::TD_USING ( OdGeEntity3d::isOn  )

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