Open CASCADE Technology 7.8.2.dev
|
Algorithm to build primitives with one axis of revolution. More...
#include <BRepPrim_OneAxis.hxx>
Public Member Functions | |
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 TopoDS_Face | MakeEmptyLateralFace () const =0 |
Returns a face with no edges. The surface is the lateral surface with normals pointing outward. The U parameter is the angle with the origin on the X axis. The V parameter is the parameter of the meridian. | |
virtual TopoDS_Edge | MakeEmptyMeridianEdge (const Standard_Real Ang) const =0 |
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 void | SetMeridianPCurve (TopoDS_Edge &E, const TopoDS_Face &F) const =0 |
Sets the parametric curve of the edge <E> in the face <F> to be the 2d representation of the meridian. | |
virtual gp_Pnt2d | MeridianValue (const Standard_Real V) const =0 |
Returns the meridian point at parameter <V> in the plane XZ. | |
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 () |
Protected Member Functions | |
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 | |
BRepPrim_Builder | myBuilder |
Algorithm to build primitives with one axis of revolution.
The revolution body is described by :
A coordinate system (Ax2 from gp). The Z axis is the rotational axis.
An Angle around the Axis, When the Angle is 2*PI the primitive is not limited by planar faces. The U parameter range from 0 to Angle.
A parameter range VMin, VMax on the meridian.
A meridian : The meridian is a curve described by a set of deferred methods.
The topology consists of A shell, Faces, Wires, Edges and Vertices. Methods are provided to build all the elements. Building an element implies the automatic building of all its sub-elements.
So building the shell builds everything.
There are at most 5 faces :
|
virtual |
|
protected |
Creates a OneAxis algorithm. is used to build the Topology. The angle defaults to 2*PI.
Standard_Real BRepPrim_OneAxis::Angle | ( | ) | const |
void BRepPrim_OneAxis::Angle | ( | const Standard_Real | A | ) |
const gp_Ax2 & BRepPrim_OneAxis::Axes | ( | ) | const |
Returns the Ax2 from <me>.
void BRepPrim_OneAxis::Axes | ( | const gp_Ax2 & | A | ) |
const TopoDS_Vertex & BRepPrim_OneAxis::AxisBottomVertex | ( | ) |
Returns the Vertex at the Bottom altitude on the axis.
const TopoDS_Edge & BRepPrim_OneAxis::AxisEdge | ( | ) |
Returns the Edge built along the Axis and oriented on +Z of the Axis.
const TopoDS_Wire & BRepPrim_OneAxis::AxisEndWire | ( | ) |
Returns the Wire in the end face with the AxisEdge.
const TopoDS_Wire & BRepPrim_OneAxis::AxisStartWire | ( | ) |
Returns the wire in the start face with the AxisEdge.
const TopoDS_Vertex & BRepPrim_OneAxis::AxisTopVertex | ( | ) |
Returns the Vertex at the Top altitude on the axis.
const TopoDS_Edge & BRepPrim_OneAxis::BottomEdge | ( | ) |
Returns the edge at VMin. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.
const TopoDS_Vertex & BRepPrim_OneAxis::BottomEndVertex | ( | ) |
Returns the vertex (angle,VMax)
const TopoDS_Face & BRepPrim_OneAxis::BottomFace | ( | ) |
Returns the Bottom planar Face. It is Oriented toward the -Z axis (outside).
const TopoDS_Vertex & BRepPrim_OneAxis::BottomStartVertex | ( | ) |
Returns the vertex (0,VMin)
const TopoDS_Wire & BRepPrim_OneAxis::BottomWire | ( | ) |
Returns the wire in the bottom face.
const TopoDS_Edge & BRepPrim_OneAxis::EndBottomEdge | ( | ) |
Returns the linear Edge between end Face and bottom Face.
const TopoDS_Edge & BRepPrim_OneAxis::EndEdge | ( | ) |
Returns the Edge at angle Angle. If !HasSides() the StartEdge and the EndEdge are the same edge.
const TopoDS_Face & BRepPrim_OneAxis::EndFace | ( | ) |
Returns the Face ending the slice, it is oriented toward the exterior of the primitive.
const TopoDS_Edge & BRepPrim_OneAxis::EndTopEdge | ( | ) |
Returns the linear Edge between end Face and top Face.
const TopoDS_Wire & BRepPrim_OneAxis::EndWire | ( | ) |
Returns the Wire in the end face.
|
virtual |
Returns True if there is a bottom face.
That is neither : VMinInfinite() MeridianClosed() MeridianOnAxis(VMin)
|
virtual |
Returns True if there are Start and End faces.
That is : 2*PI - Angle > Precision::Angular()
|
virtual |
Returns True if there is a top face.
That is neither : VMaxInfinite() MeridianClosed() MeridianOnAxis(VMax)
const TopoDS_Wire & BRepPrim_OneAxis::LateralEndWire | ( | ) |
Returns the wire with in lateral face with the end edge.
const TopoDS_Face & BRepPrim_OneAxis::LateralFace | ( | ) |
Returns the lateral Face. It is oriented toward the outside of the primitive.
const TopoDS_Wire & BRepPrim_OneAxis::LateralStartWire | ( | ) |
Returns the wire in the lateral face with the start edge.
const TopoDS_Wire & BRepPrim_OneAxis::LateralWire | ( | ) |
Returns the wire in the lateral face.
|
pure virtual |
Returns a face with no edges. The surface is the lateral surface with normals pointing outward. The U parameter is the angle with the origin on the X axis. The V parameter is the parameter of the meridian.
Implemented in BRepPrim_Cone, BRepPrim_Cylinder, BRepPrim_Revolution, BRepPrim_Sphere, and BRepPrim_Torus.
|
pure virtual |
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.
Implemented in BRepPrim_Revolution.
|
virtual |
Returns True if the meridian is closed. Default implementation is MeridianValue(VMin).IsEqual(MeridianValue(VMax), Precision::Confusion())
|
virtual |
Returns True if the point of parameter <V> on the meridian is on the Axis. Default implementation is Abs(MeridianValue(V).X()) < Precision::Confusion()
|
pure virtual |
Returns the meridian point at parameter <V> in the plane XZ.
Implemented in BRepPrim_Revolution.
void BRepPrim_OneAxis::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.
|
pure virtual |
Sets the parametric curve of the edge <E> in the face <F> to be the 2d representation of the meridian.
Implemented in BRepPrim_Revolution.
const TopoDS_Shell & BRepPrim_OneAxis::Shell | ( | ) |
Returns the Shell containing all the Faces of the primitive.
const TopoDS_Edge & BRepPrim_OneAxis::StartBottomEdge | ( | ) |
Returns the linear Edge between start Face and bottom Face.
const TopoDS_Edge & BRepPrim_OneAxis::StartEdge | ( | ) |
Returns the Edge at angle 0.
const TopoDS_Face & BRepPrim_OneAxis::StartFace | ( | ) |
Returns the Face starting the slice, it is oriented toward the exterior of the primitive.
const TopoDS_Edge & BRepPrim_OneAxis::StartTopEdge | ( | ) |
Returns the linear Edge between start Face and top Face.
const TopoDS_Wire & BRepPrim_OneAxis::StartWire | ( | ) |
Returns the wire in the start face.
const TopoDS_Edge & BRepPrim_OneAxis::TopEdge | ( | ) |
Returns the edge at VMax. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.
const TopoDS_Vertex & BRepPrim_OneAxis::TopEndVertex | ( | ) |
Returns the vertex (angle,VMax)
const TopoDS_Face & BRepPrim_OneAxis::TopFace | ( | ) |
Returns the top planar Face. It is Oriented toward the +Z axis (outside).
const TopoDS_Vertex & BRepPrim_OneAxis::TopStartVertex | ( | ) |
Returns the vertex (0,VMax)
const TopoDS_Wire & BRepPrim_OneAxis::TopWire | ( | ) |
Returns the wire in the top face.
Standard_Real BRepPrim_OneAxis::VMax | ( | ) | const |
void BRepPrim_OneAxis::VMax | ( | const Standard_Real | V | ) |
|
virtual |
Returns True if VMax is infinite. Default Precision::IsPositiveInfinite(VMax);.
Standard_Real BRepPrim_OneAxis::VMin | ( | ) | const |
void BRepPrim_OneAxis::VMin | ( | const Standard_Real | V | ) |
|
virtual |
Returns True if VMin is infinite. Default Precision::IsNegativeInfinite(VMax);.
|
protected |