1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _gce_MakeCone_HeaderFile
#define _gce_MakeCone_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <gp_Cone.hxx>
#include <gce_Root.hxx>
#include <Standard_Real.hxx>
class StdFail_NotDone;
class gp_Ax2;
class gp_Cone;
class gp_Pnt;
class gp_Ax1;
class gp_Lin;
//! This class implements the following algorithms used
//! to create a Cone from gp.
//! * Create a Cone coaxial to another and passing
//! through a point.
//! * Create a Cone coaxial to another at a distance
//! <Dist>.
//! * Create a Cone by 4 points.
//! * Create a Cone by its axis and 2 points.
//! * Create a Cone by 2 points and 2 radius.
//! * Create a Cone by an Ax2 an angle and the radius of
//! its reference section.
class gce_MakeCone : public gce_Root
{
public:
DEFINE_STANDARD_ALLOC
//! Creates an infinite conical surface. A2 locates the cone
//! in the space and defines the reference plane of the surface.
//! Ang is the conical surface semi-angle between 0 and PI/2 radians.
//! Radius is the radius of the circle in the reference plane of
//! the cone.
//! If Radius is lower than 0.0 the status is "
//! If Ang < Resolution from gp or Ang >= (PI/2) - Resolution.
Standard_EXPORT gce_MakeCone(const gp_Ax2& A2, const Standard_Real Ang, const Standard_Real Radius);
//! Makes a Cone from gp <TheCone> coaxial to another
//! Cone <Cone> and passing through a Pnt <Point>.
Standard_EXPORT gce_MakeCone(const gp_Cone& Cone, const gp_Pnt& Point);
//! Makes a Cone from gp <TheCone> coaxial to another
//! Cone <Cone> at the distance <Dist> which can
//! be greater or lower than zero.
Standard_EXPORT gce_MakeCone(const gp_Cone& Cone, const Standard_Real Dist);
//! Makes a Cone from gp <TheCone> by four points <P1>,
//! <P2>,<P3> and <P4>.
//! Its axis is <P1P2> and the radius of its base is
//! the distance between <P3> and <P1P2>.
//! The distance between <P4> and <P1P2> is the radius of
//! the section passing through <P4>.
//! If <P1> and <P2> are confused or <P3> and <P4> are
//! confused we have the status "ConfusedPoints"
//! if <P1>,<P2>,<P3>,<P4> are colinear we have the
//! status "ColinearPoints"
//! If <P3P4> is perpendicular to <P1P2> we have the
//! status "NullAngle".
//! <P3P4> is colinear to <P1P2> we have the status
//! "NullAngle".
Standard_EXPORT gce_MakeCone(const gp_Pnt& P1, const gp_Pnt& P2, const gp_Pnt& P3, const gp_Pnt& P4);
//! Makes a Cone by its axis <Axis> and and two points.
//! The distance between <P1> and the axis is the radius
//! of the section passing through <P1>.
//! The distance between <P2> and the axis is the radius
//! of the section passing through <P2>.
//! If <P1P2> is colinear to <Axis> we have the status
//! "NullAngle"
//! If <P3P4> is perpendicular to <Axis> we have the status
//! "NullAngle"
//! If <P1> and <P2> are confused we have the status
//! "ConfusedPoints"
Standard_EXPORT gce_MakeCone(const gp_Ax1& Axis, const gp_Pnt& P1, const gp_Pnt& P2);
//! Makes a Cone by its axis <Axis> and and two points.
//! The distance between <P1> and the axis is the radius
//! of the section passing through <P1>
//! The distance between <P2> and the axis is the radius
//! of the section passing through <P2>
//! If <P1P2> is colinear to <Axis> we have the status
//! "NullAngle"
//! If <P3P4> is perpendicular to <Axis> we have the status
//! "NullAngle"
//! If <P1> and <P2> are confused we have the status
//! "ConfusedPoints"
Standard_EXPORT gce_MakeCone(const gp_Lin& Axis, const gp_Pnt& P1, const gp_Pnt& P2);
//! Makes a Cone with two points and two radius.
//! The axis of the solution is the line passing through
//! <P1> and <P2>.
//! <R1> is the radius of the section passing through <P1>
//! and <R2> the radius of the section passing through <P2>.
//! If <P1> and <P2> are confused we have the status "NullAxis".
//! Warning
//! If an error occurs (that is, when IsDone returns
//! false), the Status function returns:
//! - gce_NegativeRadius if Radius, R1 or R2 is less than 0.0;
//! - gce_BadAngle if Ang is less than
//! gp::Resolution() or greater than Pi/2.- gp::Resolution();
//! - gce_ConfusedPoints if P1 and P2 or P3 and P4 are coincident;
//! - gce_NullAxis if the points P1 and P2, are coincident (5th syntax only);
//! - gce_NullAngle if:
//! - the vector joining P1 to P2 is parallel to either
//! Axis or the line joining P3 to P4, or
//! - R1 and R2 are equal, (that is, their difference is
//! less than gp::Resolution()); or
//! - gce_NullRadius if:
//! - the vector joining P1 to P2 is perpendicular to the line joining P3 to P4,
//! - the vector joining P1 to P2 is perpendicular to Axis, or
//! - P1, P2, P3, and P4 are collinear.
Standard_EXPORT gce_MakeCone(const gp_Pnt& P1, const gp_Pnt& P2, const Standard_Real R1, const Standard_Real R2);
//! Returns the constructed cone.
//! Exceptions StdFail_NotDone if no cone is constructed.
Standard_EXPORT const gp_Cone& Value() const;
Standard_EXPORT const gp_Cone& Operator() const;
Standard_EXPORT operator gp_Cone() const;
protected:
private:
gp_Cone TheCone;
};
#endif // _gce_MakeCone_HeaderFile
|