Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00015
00016
00017 #if !defined(ON_BOX_INC_)
00018 #define ON_BOX_INC_
00019
00020 class ON_CLASS ON_Box
00021 {
00022 public:
00023 ON_Plane plane;
00024
00025 ON_Interval dx;
00026 ON_Interval dy;
00027 ON_Interval dz;
00028
00029 ON_Box();
00030 ON_Box( const ON_BoundingBox& bbox );
00031 ~ON_Box();
00032
00033 bool IsValid() const;
00034
00035 bool Create( const ON_BoundingBox& bbox );
00036
00037 void Destroy();
00038
00039 ON_3dPoint Center() const;
00040 bool GetCorners( ON_3dPoint* corners ) const;
00041 bool GetCorners( ON_SimpleArray<ON_3dPoint>& corners ) const;
00042
00043 ON_BoundingBox BoundingBox() const;
00044
00045 ON_3dPoint PointAt(
00046 double r,
00047 double s,
00048 double t
00049 ) const;
00050
00051 bool ClosestPointTo(
00052 ON_3dPoint point,
00053 double* r,
00054 double* s,
00055 double* t
00056 ) const;
00057
00058
00059 ON_3dPoint ClosestPointTo(
00060 ON_3dPoint test_point
00061 ) const;
00062
00063
00064 bool Rotate(
00065 double sin_angle,
00066 double cos_angle,
00067 const ON_3dVector& axis_of_rotation
00068 );
00069
00070 bool Rotate(
00071 double angle_radians,
00072 const ON_3dVector& axis_of_rotation
00073 );
00074
00075
00076 bool Rotate(
00077 double sin_angle,
00078 double cos_angle,
00079 const ON_3dVector& axis_of_rotation,
00080 const ON_3dPoint& center_of_rotation
00081 );
00082
00083 bool Rotate(
00084 double angle_radians,
00085 const ON_3dVector& axis_of_rotation,
00086 const ON_3dPoint& center_of_rotation
00087 );
00088
00089 bool Translate(
00090 const ON_3dVector&
00091 );
00092
00093 bool Transform( const ON_Xform& );
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111 int IsDegenerate(
00112 double tolerance = ON_UNSET_VALUE
00113 ) const;
00114
00115 double Volume() const;
00116
00117 double Area() const;
00118 };
00119
00120 #endif