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_CONE_INC_)
00018 #define ON_CONE_INC_
00019
00020 class ON_NurbsSurface;
00021 class ON_Brep;
00022
00023
00024
00025
00026 class ON_CLASS ON_Cone
00027 {
00028 public:
00029
00030
00031
00032 ON_Cone();
00033
00034
00035 ON_Cone(
00036 const ON_Plane& plane,
00037 double height,
00038 double radius
00039 );
00040
00041 ~ON_Cone();
00042
00043
00044
00045
00046
00047
00048
00049
00050 ON_BOOL32 Create(
00051 const ON_Plane& plane,
00052 double height,
00053 double radius
00054 );
00055
00056
00057
00058 ON_BOOL32 IsValid() const;
00059
00060
00061
00062
00063
00064 ON_3dPoint BasePoint() const;
00065
00066
00067
00068
00069
00070 const ON_3dPoint& ApexPoint() const;
00071
00072
00073
00074 const ON_3dVector& Axis() const;
00075
00076
00077
00078
00079
00080 double AngleInRadians() const;
00081
00082
00083
00084
00085 double AngleInDegrees() const;
00086
00087
00088
00089
00090
00091 ON_3dPoint PointAt(
00092 double radial_parameter,
00093 double height_parameter
00094 ) const;
00095
00096
00097
00098
00099
00100
00101
00102 ON_3dVector NormalAt(
00103 double radial_parameter,
00104 double height_parameter
00105 ) const;
00106
00107
00108
00109
00110
00111 ON_Circle CircleAt(
00112 double height_parameter
00113 ) const;
00114
00115
00116
00117
00118
00119 ON_Line LineAt(
00120 double radial_parameter
00121 ) const;
00122
00123
00124 bool ClosestPointTo(
00125 ON_3dPoint point,
00126 double* radial_parameter,
00127 double* height_parameter
00128 ) const;
00129
00130
00131 ON_3dPoint ClosestPointTo(
00132 ON_3dPoint
00133 ) const;
00134
00135 ON_BOOL32 Transform( const ON_Xform& );
00136
00137
00138 ON_BOOL32 Rotate(
00139 double sin_angle,
00140 double cos_angle,
00141 const ON_3dVector& axis_of_rotation
00142 );
00143
00144 ON_BOOL32 Rotate(
00145 double angle_in_radians,
00146 const ON_3dVector& axis_of_rotation
00147 );
00148
00149
00150 ON_BOOL32 Rotate(
00151 double sin_angle,
00152 double cos_angle,
00153 const ON_3dVector& axis_of_rotation,
00154 const ON_3dPoint& center_of_rotation
00155 );
00156 ON_BOOL32 Rotate(
00157 double angle_in_radians,
00158 const ON_3dVector& axis_of_rotation,
00159 const ON_3dPoint& center_of_rotation
00160 );
00161
00162 ON_BOOL32 Translate(
00163 const ON_3dVector& delta
00164 );
00165
00166 ON_BOOL32 GetNurbForm( ON_NurbsSurface& ) const;
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177 ON_RevSurface* RevSurfaceForm( ON_RevSurface* srf = NULL ) const;
00178
00179 public:
00180 ON_Plane plane;
00181 double height;
00182 double radius;
00183 };
00184
00185 #endif