18 #ifdef DtUSE_UTILITIES_NAMESPACE
19 namespace DtUSE_UTILITIES_NAMESPACE
59 Dt3dExtent(
const double minX,
const double maxX,
60 const double minY,
const double maxY,
61 const double minZ,
const double maxZ );
91 void setMinX(
double x);
92 void setMinY(
double y);
93 void setMinZ(
double z);
94 void setMaxX(
double x);
95 void setMaxY(
double y);
96 void setMaxZ(
double z);
103 virtual void setCenter(
const Dt3dPoint& p);
106 virtual void setFromCenter(
const Dt3dPoint& p,
109 const double& zDist);
113 double xSize()
const;
115 double ySize()
const;
116 double zSize()
const;
131 virtual void expandToInclude(
const Dt3dExtent& otherExtent);
134 virtual void expandToInclude(
const Dt3dPoint& point);
137 virtual void expandToInclude(
const Dt3dChord& chord);
145 virtual bool contains(
const Dt3dExtent& otherExtent)
const;
149 virtual bool contains(
const Dt3dPoint& point)
const;
153 virtual bool contains(
const Dt3dChord& chord)
const;
157 bool intersects(
const Dt3dExtent& otherExtent)
const;
161 bool doesNotIntersect(
const Dt3dExtent& otherExtent)
const;
166 bool intersects(
const Dt3dChord& chord)
const;
175 bool intersectsLineOfChord(
const Dt3dChord& chord,
176 double& distInChordLengthsFirst,
double& distInChordLengthsLast)
const;
188 bool intersectsSoFar(
const double pointVal,
189 const double rayVal,
const double side0,
const double side1,
190 double &firstTime,
double &lastTime)
const;
197 void guaranteeValidConstruction();
214 #define _3dExtent_inl
215 #include "3dExtent.inl"
221 #ifdef DtUSE_UTILITIES_NAMESPACE
This file declares Dt3dPoint.
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
double myMaxZ
Definition: 3dExtent.h:205
std::ostream & operator<<(std::ostream &os, const Dt3dChord &chord)
std::istream & operator>>(std::istream &is, Dt3dExtent &extent)
double myMinY
Definition: 3dExtent.h:202
The Dt3dExtent represents an axis-aligned 3d bounding box.
Definition: 3dExtent.h:45
double myMinX
Definition: 3dExtent.h:200
#define DT_DLL_MATRIX
Definition: vlMachineTypes.h:107
Dt3dPoint represents points in 3-space.
Definition: 3dPoint.h:43
A Dt3dChord is a finite line segment in 3-space, represented by its two 3d end points.
Definition: 3dChord.h:32
const bool operator!=(const DtU128 &lhs, const DtU128 &rhs)
double myMaxX
Definition: 3dExtent.h:201
This file contains typedefs for machine dependant types.
double myMaxY
Definition: 3dExtent.h:203
double myMinZ
Definition: 3dExtent.h:204