VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
3dBoundingVolume.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 
7 #ifndef _3dBoundingVolume_H
8 #define _3dBoundingVolume_H
9 
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "vlVector.h"
16 
17 #ifdef DtUSE_UTILITIES_NAMESPACE
18 namespace DtUSE_UTILITIES_NAMESPACE
19 {
20 #endif
21 
22 
68 {
69 
70 public:
72 
74 
77 
78  Dt3dBoundingVolume( double halfLength, double halfWidth, double halfHeight );
79 
80  Dt3dBoundingVolume( double halfLength, double halfWidth, double halfHeight,
81  double lengthOffset, double widthOffset, double heightOffset );
82  Dt3dBoundingVolume( double halfLength, double halfWidth, double halfHeight,
83  const DtVector& latticeOffset );
84 
85  virtual ~Dt3dBoundingVolume();
86 
88  Dt3dBoundingVolume& operator=( const Dt3dBoundingVolume& orig );
89 
91  bool operator==(const Dt3dBoundingVolume& other) const;
93  bool operator!=(const Dt3dBoundingVolume& other) const;
94 
95  virtual void setToDefault();
97 
98 public:
99 
101 
102  virtual double length() const { return 2*myHalfDimensions[0]; }
103  virtual double width() const { return 2*myHalfDimensions[1]; }
104  virtual double height() const { return 2*myHalfDimensions[2]; }
105 
106  virtual double halfLength() const { return myHalfDimensions[0]; }
107  virtual double halfWidth() const { return myHalfDimensions[1]; }
108  virtual double halfHeight() const { return myHalfDimensions[2]; }
109 
111  virtual double boundingRadius() const { return myBoundingRadius; }
112 
113  virtual void setHalfLengthWidthHeight( double halfLength, double halfWidth,
114  double halfHeight);
115  virtual void setHalfLength( double newHalfLength );
116 
118  virtual void stretchForward( double x, double y );
145  virtual void stretchBackward( double x, double y );
147 
149 
150 public:
152 
153 
154  virtual void setLatticeOffset( const DtVector & newOffset );
155  virtual void setLatticeOffset( double lengthOffset, double widthOffset,
156  double heightOffset );
157  virtual void clearLatticeOffset();
158  virtual const DtVector& latticeOffset() const { return myLatticeOffset; }
159  virtual bool isOffset() const { return myIsOffset; }
160  virtual double offsetLength() const { return myOffsetLength; }
162 
163 protected:
165 
168 
169 
172 
173  bool myIsOffset;
177 };
178 
179 #ifdef DtUSE_UTILITIES_NAMESPACE
180 }
181 #endif
182 
183 
184 #endif
185 
bool myIsOffset
Definition: 3dBoundingVolume.h:173
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
DtVector myHalfDimensions
Definition: 3dBoundingVolume.h:166
virtual double length() const
Definition: 3dBoundingVolume.h:102
virtual double height() const
Definition: 3dBoundingVolume.h:104
A 3d bounding volume.
Definition: 3dBoundingVolume.h:67
virtual double halfLength() const
Definition: 3dBoundingVolume.h:106
virtual double halfWidth() const
Definition: 3dBoundingVolume.h:107
This file declares DtVector and DtVector32.
Definition: vlVector.h:224
virtual bool isOffset() const
Definition: 3dBoundingVolume.h:159
double myBoundingRadius
Definition: 3dBoundingVolume.h:175
#define DT_DLL_MATRIX
Definition: vlMachineTypes.h:107
virtual double offsetLength() const
Definition: 3dBoundingVolume.h:160
virtual double halfHeight() const
Definition: 3dBoundingVolume.h:108
double myOffsetLength
true if offset is non-zero.
Definition: 3dBoundingVolume.h:174
const bool operator!=(const DtU128 &lhs, const DtU128 &rhs)
virtual double boundingRadius() const
The radius is calculated from other data, and is always valid.
Definition: 3dBoundingVolume.h:111
DtVector myLatticeOffset
Diagonal of associated matrix.
Definition: 3dBoundingVolume.h:167
virtual double width() const
Definition: 3dBoundingVolume.h:103
virtual const DtVector & latticeOffset() const
Definition: 3dBoundingVolume.h:158
This file contains typedefs for machine dependant types.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)