Open CASCADE Technology 7.8.2.dev
|
Implement the cone primitive. More...
#include <BRepPrim_Cone.hxx>
Public Member Functions | |
BRepPrim_Cone (const Standard_Real Angle, const gp_Ax2 &Position, const Standard_Real Height, const Standard_Real Radius=0) | |
the STEP definition Angle = semi-angle of the cone Position : the coordinate system Height : height of the cone. Radius : radius of truncated face at z = 0 | |
BRepPrim_Cone (const Standard_Real Angle) | |
infinite cone at origin on Z negative | |
BRepPrim_Cone (const Standard_Real Angle, const gp_Pnt &Apex) | |
infinite cone at Apex on Z negative | |
BRepPrim_Cone (const Standard_Real Angle, const gp_Ax2 &Axes) | |
infinite cone with Axes | |
BRepPrim_Cone (const Standard_Real R1, const Standard_Real R2, const Standard_Real H) | |
create a Cone at origin on Z axis, of height H, radius R1 at Z = 0, R2 at Z = H, X is the origin of angles. If R1 or R2 is 0 there is an apex. Otherwise, it is a truncated cone. | |
BRepPrim_Cone (const gp_Pnt &Center, const Standard_Real R1, const Standard_Real R2, const Standard_Real H) | |
same as above but at a given point | |
BRepPrim_Cone (const gp_Ax2 &Axes, const Standard_Real R1, const Standard_Real R2, const Standard_Real H) | |
same as above with given axes system. | |
virtual TopoDS_Face | MakeEmptyLateralFace () const override |
The surface normal should be directed towards the outside. | |
Public Member Functions inherited from BRepPrim_Revolution | |
BRepPrim_Revolution (const gp_Ax2 &A, const Standard_Real VMin, const Standard_Real VMax, const Handle< Geom_Curve > &M, const Handle< Geom2d_Curve > &PM) | |
Create a revolution body <M> is the meridian nd must be in the XZ plane of . <PM> is the meridian in the XZ plane. | |
virtual TopoDS_Edge | MakeEmptyMeridianEdge (const Standard_Real Ang) const |
Returns an edge with a 3D curve made from the meridian in the XZ plane rotated by <Ang> around the Z-axis. Ang may be 0 or myAngle. | |
virtual gp_Pnt2d | MeridianValue (const Standard_Real V) const |
Returns the meridian point at parameter <V> in the plane XZ. | |
virtual void | SetMeridianPCurve (TopoDS_Edge &E, const TopoDS_Face &F) const |
Sets the parametric urve of the edge <E> in the face <F> to be the 2d representation of the meridian. | |
Public Member Functions inherited from BRepPrim_OneAxis | |
void | SetMeridianOffset (const Standard_Real MeridianOffset=0) |
The MeridianOffset is added to the parameters on the meridian curve and to the V values of the pcurves. This is used for the sphere for example, to give a range on the meridian edge which is not VMin, VMax. | |
const gp_Ax2 & | Axes () const |
Returns the Ax2 from <me>. | |
void | Axes (const gp_Ax2 &A) |
Standard_Real | Angle () const |
void | Angle (const Standard_Real A) |
Standard_Real | VMin () const |
void | VMin (const Standard_Real V) |
Standard_Real | VMax () const |
void | VMax (const Standard_Real V) |
virtual Standard_Boolean | MeridianOnAxis (const Standard_Real V) const |
Returns True if the point of parameter <V> on the meridian is on the Axis. Default implementation is Abs(MeridianValue(V).X()) < Precision::Confusion() | |
virtual Standard_Boolean | MeridianClosed () const |
Returns True if the meridian is closed. Default implementation is MeridianValue(VMin).IsEqual(MeridianValue(VMax), Precision::Confusion()) | |
virtual Standard_Boolean | VMaxInfinite () const |
Returns True if VMax is infinite. Default Precision::IsPositiveInfinite(VMax);. | |
virtual Standard_Boolean | VMinInfinite () const |
Returns True if VMin is infinite. Default Precision::IsNegativeInfinite(VMax);. | |
virtual Standard_Boolean | HasTop () const |
Returns True if there is a top face. | |
virtual Standard_Boolean | HasBottom () const |
Returns True if there is a bottom face. | |
virtual Standard_Boolean | HasSides () const |
Returns True if there are Start and End faces. | |
const TopoDS_Shell & | Shell () |
Returns the Shell containing all the Faces of the primitive. | |
const TopoDS_Face & | LateralFace () |
Returns the lateral Face. It is oriented toward the outside of the primitive. | |
const TopoDS_Face & | TopFace () |
Returns the top planar Face. It is Oriented toward the +Z axis (outside). | |
const TopoDS_Face & | BottomFace () |
Returns the Bottom planar Face. It is Oriented toward the -Z axis (outside). | |
const TopoDS_Face & | StartFace () |
Returns the Face starting the slice, it is oriented toward the exterior of the primitive. | |
const TopoDS_Face & | EndFace () |
Returns the Face ending the slice, it is oriented toward the exterior of the primitive. | |
const TopoDS_Wire & | LateralWire () |
Returns the wire in the lateral face. | |
const TopoDS_Wire & | LateralStartWire () |
Returns the wire in the lateral face with the start edge. | |
const TopoDS_Wire & | LateralEndWire () |
Returns the wire with in lateral face with the end edge. | |
const TopoDS_Wire & | TopWire () |
Returns the wire in the top face. | |
const TopoDS_Wire & | BottomWire () |
Returns the wire in the bottom face. | |
const TopoDS_Wire & | StartWire () |
Returns the wire in the start face. | |
const TopoDS_Wire & | AxisStartWire () |
Returns the wire in the start face with the AxisEdge. | |
const TopoDS_Wire & | EndWire () |
Returns the Wire in the end face. | |
const TopoDS_Wire & | AxisEndWire () |
Returns the Wire in the end face with the AxisEdge. | |
const TopoDS_Edge & | AxisEdge () |
Returns the Edge built along the Axis and oriented on +Z of the Axis. | |
const TopoDS_Edge & | StartEdge () |
Returns the Edge at angle 0. | |
const TopoDS_Edge & | EndEdge () |
Returns the Edge at angle Angle. If !HasSides() the StartEdge and the EndEdge are the same edge. | |
const TopoDS_Edge & | StartTopEdge () |
Returns the linear Edge between start Face and top Face. | |
const TopoDS_Edge & | StartBottomEdge () |
Returns the linear Edge between start Face and bottom Face. | |
const TopoDS_Edge & | EndTopEdge () |
Returns the linear Edge between end Face and top Face. | |
const TopoDS_Edge & | EndBottomEdge () |
Returns the linear Edge between end Face and bottom Face. | |
const TopoDS_Edge & | TopEdge () |
Returns the edge at VMax. If MeridianClosed() the TopEdge and the BottomEdge are the same edge. | |
const TopoDS_Edge & | BottomEdge () |
Returns the edge at VMin. If MeridianClosed() the TopEdge and the BottomEdge are the same edge. | |
const TopoDS_Vertex & | AxisTopVertex () |
Returns the Vertex at the Top altitude on the axis. | |
const TopoDS_Vertex & | AxisBottomVertex () |
Returns the Vertex at the Bottom altitude on the axis. | |
const TopoDS_Vertex & | TopStartVertex () |
Returns the vertex (0,VMax) | |
const TopoDS_Vertex & | TopEndVertex () |
Returns the vertex (angle,VMax) | |
const TopoDS_Vertex & | BottomStartVertex () |
Returns the vertex (0,VMin) | |
const TopoDS_Vertex & | BottomEndVertex () |
Returns the vertex (angle,VMax) | |
virtual | ~BRepPrim_OneAxis () |
Additional Inherited Members | |
Protected Member Functions inherited from BRepPrim_Revolution | |
BRepPrim_Revolution (const gp_Ax2 &A, const Standard_Real VMin, const Standard_Real VMax) | |
Create a revolution body. The meridian is set later. Reserved for derivated classes. | |
void | Meridian (const Handle< Geom_Curve > &M, const Handle< Geom2d_Curve > &PM) |
Protected Member Functions inherited from BRepPrim_OneAxis | |
BRepPrim_OneAxis (const BRepPrim_Builder &B, const gp_Ax2 &A, const Standard_Real VMin, const Standard_Real VMax) | |
Creates a OneAxis algorithm. is used to build the Topology. The angle defaults to 2*PI. | |
Protected Attributes inherited from BRepPrim_OneAxis | |
BRepPrim_Builder | myBuilder |
Implement the cone primitive.
BRepPrim_Cone::BRepPrim_Cone | ( | const Standard_Real | Angle, |
const gp_Ax2 & | Position, | ||
const Standard_Real | Height, | ||
const Standard_Real | Radius = 0 ) |
the STEP definition Angle = semi-angle of the cone Position : the coordinate system Height : height of the cone. Radius : radius of truncated face at z = 0
The apex is on z < 0
Errors : Height < Resolution Angle < Resolution / Height Angle > PI/2 - Resolution / Height
BRepPrim_Cone::BRepPrim_Cone | ( | const Standard_Real | Angle | ) |
infinite cone at origin on Z negative
BRepPrim_Cone::BRepPrim_Cone | ( | const Standard_Real | Angle, |
const gp_Pnt & | Apex ) |
infinite cone at Apex on Z negative
BRepPrim_Cone::BRepPrim_Cone | ( | const Standard_Real | Angle, |
const gp_Ax2 & | Axes ) |
infinite cone with Axes
BRepPrim_Cone::BRepPrim_Cone | ( | const Standard_Real | R1, |
const Standard_Real | R2, | ||
const Standard_Real | H ) |
create a Cone at origin on Z axis, of height H, radius R1 at Z = 0, R2 at Z = H, X is the origin of angles. If R1 or R2 is 0 there is an apex. Otherwise, it is a truncated cone.
Error : R1 and R2 < Resolution R1 or R2 negative Abs(R1-R2) < Resolution H < Resolution H negative
BRepPrim_Cone::BRepPrim_Cone | ( | const gp_Pnt & | Center, |
const Standard_Real | R1, | ||
const Standard_Real | R2, | ||
const Standard_Real | H ) |
same as above but at a given point
BRepPrim_Cone::BRepPrim_Cone | ( | const gp_Ax2 & | Axes, |
const Standard_Real | R1, | ||
const Standard_Real | R2, | ||
const Standard_Real | H ) |
same as above with given axes system.
|
overridevirtual |
The surface normal should be directed towards the outside.
Reimplemented from BRepPrim_Revolution.