CFx SDK Documentation  2020SP3
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
OdGeExtents3d Class Reference

#include <GeExtents3d.h>

Inheritance diagram for OdGeExtents3d:
OdGsCullingBBox OdSi::Extent3d

Public Types

enum  IntersectionStatus {
  kIntersectUnknown, kIntersectNot, kIntersectOpIn, kIntersectOpOut,
  kIntersectOk
}
 
enum  Convert2dPlane {
  kConvert2dPlaneXY = 0x04, kConvert2dPlaneXZ = 0x0C, kConvert2dPlaneYX = 0x01, kConvert2dPlaneYZ = 0x0D,
  kConvert2dPlaneZX = 0x03, kConvert2dPlaneZY = 0x07
}
 

Public Member Functions

 OdGeExtents3d ()
 
 OdGeExtents3d (const OdGePoint3d &min, const OdGePoint3d &max)
 
const OdGePoint3dminPoint () const
 
const OdGePoint3dmaxPoint () const
 
void set (const OdGePoint3d &min, const OdGePoint3d &max)
 
void comparingSet (const OdGePoint3d &pt1, const OdGePoint3d &pt2)
 
void addPoint (const OdGePoint3d &point)
 
void addExt (const OdGeExtents3d &extents)
 
bool isValidExtents () const
 
void expandBy (const OdGeVector3d &vect)
 
void transformBy (const OdGeMatrix3d &xfm)
 
bool contains (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool contains (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDisjoint (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
IntersectionStatus intersectWith (const OdGeExtents3d &extents, OdGeExtents3d *pResult=0) const
 
OdGePoint3d center () const
 
void convert2d (OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY) const
 
void setFrom2d (const OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY)
 
bool isEqualTo (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
bool operator== (const OdGeExtents3d &extents) const
 
bool operator!= (const OdGeExtents3d &extents) const
 

Static Public Attributes

static GE_STATIC_EXPORT const OdGeExtents3d kInvalid
 

Protected Attributes

OdGePoint3d m_min
 
OdGePoint3d m_max
 

Detailed Description

This class represents 3D bounding boxes as minimum and maximum 3d points.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

Definition at line 44 of file GeExtents3d.h.

Member Enumeration Documentation

◆ Convert2dPlane

Enumerator
kConvert2dPlaneXY 
kConvert2dPlaneXZ 
kConvert2dPlaneYX 
kConvert2dPlaneYZ 
kConvert2dPlaneZX 
kConvert2dPlaneZY 

Definition at line 195 of file GeExtents3d.h.

◆ IntersectionStatus

Enumerator
kIntersectUnknown 
kIntersectNot 
kIntersectOpIn 
kIntersectOpOut 
kIntersectOk 

Definition at line 161 of file GeExtents3d.h.

Constructor & Destructor Documentation

◆ OdGeExtents3d() [1/2]

OdGeExtents3d::OdGeExtents3d ( )
inline
Parameters
min[in] Minimum point.
max[in] Maximum point.

Definition at line 225 of file GeExtents3d.h.

◆ OdGeExtents3d() [2/2]

OdGeExtents3d::OdGeExtents3d ( const OdGePoint3d min,
const OdGePoint3d max 
)
inline

Definition at line 231 of file GeExtents3d.h.

Member Function Documentation

◆ addExt()

void OdGeExtents3d::addExt ( const OdGeExtents3d extents)
inline

Updates the extents of this Extents object with the specified Extents object.

Parameters
extents[in] Any 3D Extents object.

Definition at line 306 of file GeExtents3d.h.

◆ addPoint()

void OdGeExtents3d::addPoint ( const OdGePoint3d point)
inline

Updates the extents of this Extents object with the specified point.

Parameters
point[in] Any 3D point.

Definition at line 291 of file GeExtents3d.h.

◆ center()

OdGePoint3d OdGeExtents3d::center ( ) const
inline

Definition at line 190 of file GeExtents3d.h.

◆ comparingSet()

void OdGeExtents3d::comparingSet ( const OdGePoint3d pt1,
const OdGePoint3d pt2 
)
inline

Sets the minimum and maximum points for this Extents object to that of the box defined by pt1 and pt2.

Parameters
pt1[in] First point.
pt2[in] Second point.
Remarks
pt1 and pt2 need only define a box. They need not be the minimum and maximum points of the box.

Definition at line 253 of file GeExtents3d.h.

◆ contains() [1/2]

bool OdGeExtents3d::contains ( const OdGeExtents3d extents,
const OdGeTol tol = OdGeContext::gTol 
) const
inline

Definition at line 370 of file GeExtents3d.h.

◆ contains() [2/2]

bool OdGeExtents3d::contains ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const
inline

Returns true if and only if this Extents object contains the specified object.

Parameters
point[in] Any 3D point.
extents[in] Any 3D Extents object.

Definition at line 358 of file GeExtents3d.h.

◆ convert2d()

void OdGeExtents3d::convert2d ( OdGeExtents2d extents,
Convert2dPlane  plane = kConvert2dPlaneXY 
) const

◆ expandBy()

void OdGeExtents3d::expandBy ( const OdGeVector3d vect)
inline

Updates the extents of this Extents object by the specified vector.

Parameters
vect[in] Any 3D vector.

Definition at line 334 of file GeExtents3d.h.

◆ intersectWith()

IntersectionStatus OdGeExtents3d::intersectWith ( const OdGeExtents3d extents,
OdGeExtents3d pResult = 0 
) const

Determines the intersection of the specified Extents object with this one, and returns the resulting intersection box.

Parameters
extents[in] Any 3D Extents object.
pResult[out] Receives extents of the intersection.
Remarks
pResult object should be created by the caller. Possible return values are as follows.

@untitled table kIntersectUnknown Either or both extents boxes are invalid kIntersectNot The extents boxes are NOT intersecting kIntersectOpIn The specified Extents object is completely within this one kIntersectOpOut This Extents object is completely within the specified one kIntersectOk The extents boxes are intersecting, and a result is returned

◆ isDisjoint()

bool OdGeExtents3d::isDisjoint ( const OdGeExtents3d extents,
const OdGeTol tol = OdGeContext::gTol 
) const
inline

Returns true if and only if specified Extents object does not intersect this one.

Parameters
extents[in] Any 3D Extents object.

Definition at line 382 of file GeExtents3d.h.

◆ isEqualTo()

bool OdGeExtents3d::isEqualTo ( const OdGeExtents3d extents,
const OdGeTol tol = OdGeContext::gTol 
) const
inline

Definition at line 394 of file GeExtents3d.h.

◆ isValidExtents()

bool OdGeExtents3d::isValidExtents ( ) const
inline

Returns true if and only if this Extents object contains valid extents.

Remarks
Extents are valid if and only if each member of the minimum extents is less than or equal to the corresponding member of maximum extents.

Definition at line 120 of file GeExtents3d.h.

◆ maxPoint()

const OdGePoint3d & OdGeExtents3d::maxPoint ( ) const
inline

Returns the maximum point of this Extents object.

Definition at line 242 of file GeExtents3d.h.

◆ minPoint()

const OdGePoint3d & OdGeExtents3d::minPoint ( ) const
inline

Returns the minimum point of this Extents object.

Definition at line 237 of file GeExtents3d.h.

◆ operator!=()

bool OdGeExtents3d::operator!= ( const OdGeExtents3d extents) const
inline

Definition at line 213 of file GeExtents3d.h.

◆ operator==()

bool OdGeExtents3d::operator== ( const OdGeExtents3d extents) const
inline

Definition at line 209 of file GeExtents3d.h.

◆ set()

void OdGeExtents3d::set ( const OdGePoint3d min,
const OdGePoint3d max 
)
inline

Sets the minimum and maximum points for this Extents object.

Parameters
min[in] Minimum point.
max[in] Maximum point.

Definition at line 247 of file GeExtents3d.h.

◆ setFrom2d()

void OdGeExtents3d::setFrom2d ( const OdGeExtents2d extents,
Convert2dPlane  plane = kConvert2dPlaneXY 
)

◆ transformBy()

void OdGeExtents3d::transformBy ( const OdGeMatrix3d xfm)
inline

Applies the 3D transformation matrix to the extents.

Parameters
xfm[in] 3D transformation matrix.

Definition at line 343 of file GeExtents3d.h.

Member Data Documentation

◆ kInvalid

GE_STATIC_EXPORT const OdGeExtents3d OdGeExtents3d::kInvalid
static

The invalid extents.

Definition at line 60 of file GeExtents3d.h.

◆ m_max

OdGePoint3d OdGeExtents3d::m_max
protected

Definition at line 220 of file GeExtents3d.h.

◆ m_min

OdGePoint3d OdGeExtents3d::m_min
protected

Definition at line 219 of file GeExtents3d.h.


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