7 #ifndef PXR_BASE_GF_BBOX3D_H
8 #define PXR_BASE_GF_BBOX3D_H
77 _isDegenerate =
false;
78 _hasZeroAreaPrimitives =
false;
86 _isDegenerate =
false;
87 _hasZeroAreaPrimitives =
false;
93 _hasZeroAreaPrimitives =
false;
105 _SetMatrices(matrix);
139 _hasZeroAreaPrimitives = hasThem;
145 return _hasZeroAreaPrimitives;
156 _SetMatrices(_matrix * matrix);
198 return (_box == b._box &&
199 _matrix == b._matrix);
207 return !(*
this == that);
220 bool _hasZeroAreaPrimitives;
243 #endif // PXR_BASE_GF_BBOX3D_H
GF_API GfVec3d ComputeCentroid() const
GfMatrix4d & SetIdentity()
Sets the matrix to the identity matrix.
const GfMatrix4d & GetInverseMatrix() const
void SetRange(const GfRange3d &box)
friend size_t hash_value(const GfBBox3d &b)
Hash.
bool operator==(const GfBBox3d &b) const
void SetMatrix(const GfMatrix4d &matrix)
GF_API double GetVolume() const
Returns the volume of the box (0 for an empty box).
GfBBox3d(const GfRange3d &box)
This constructor takes a box and sets the matrix to identity.
GF_API GfRange3d ComputeAlignedRange() const
GfRange3d ComputeAlignedBox() const
const GfRange3d & GetRange() const
Returns the range of the axis-aligned untransformed box.
GLboolean GLboolean GLboolean b
void Set(const GfRange3d &box, const GfMatrix4d &matrix)
Sets the axis-aligned box and transformation matrix.
static size_t Combine(Args &&...args)
Produce a hash code by combining the hash codes of several objects.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
GfBBox3d(const GfRange3d &box, const GfMatrix4d &matrix)
This constructor takes a box and a transformation matrix.
bool HasZeroAreaPrimitives() const
#define PXR_NAMESPACE_CLOSE_SCOPE
void Transform(const GfMatrix4d &matrix)
void SetHasZeroAreaPrimitives(bool hasThem)
static GF_API GfBBox3d Combine(const GfBBox3d &b1, const GfBBox3d &b2)
bool operator!=(const GfBBox3d &that) const
const GfRange3d & GetBox() const
const GfMatrix4d & GetMatrix() const
Returns the transformation matrix.