Open CASCADE Technology 7.8.2.dev
BRepPrim_OneAxis Class Referenceabstract

Algorithm to build primitives with one axis of revolution. More...

#include <BRepPrim_OneAxis.hxx>

Inheritance diagram for BRepPrim_OneAxis:

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_Ax2Axes () 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_ShellShell ()
 Returns the Shell containing all the Faces of the primitive.
 
const TopoDS_FaceLateralFace ()
 Returns the lateral Face. It is oriented toward the outside of the primitive.
 
const TopoDS_FaceTopFace ()
 Returns the top planar Face. It is Oriented toward the +Z axis (outside).
 
const TopoDS_FaceBottomFace ()
 Returns the Bottom planar Face. It is Oriented toward the -Z axis (outside).
 
const TopoDS_FaceStartFace ()
 Returns the Face starting the slice, it is oriented toward the exterior of the primitive.
 
const TopoDS_FaceEndFace ()
 Returns the Face ending the slice, it is oriented toward the exterior of the primitive.
 
const TopoDS_WireLateralWire ()
 Returns the wire in the lateral face.
 
const TopoDS_WireLateralStartWire ()
 Returns the wire in the lateral face with the start edge.
 
const TopoDS_WireLateralEndWire ()
 Returns the wire with in lateral face with the end edge.
 
const TopoDS_WireTopWire ()
 Returns the wire in the top face.
 
const TopoDS_WireBottomWire ()
 Returns the wire in the bottom face.
 
const TopoDS_WireStartWire ()
 Returns the wire in the start face.
 
const TopoDS_WireAxisStartWire ()
 Returns the wire in the start face with the AxisEdge.
 
const TopoDS_WireEndWire ()
 Returns the Wire in the end face.
 
const TopoDS_WireAxisEndWire ()
 Returns the Wire in the end face with the AxisEdge.
 
const TopoDS_EdgeAxisEdge ()
 Returns the Edge built along the Axis and oriented on +Z of the Axis.
 
const TopoDS_EdgeStartEdge ()
 Returns the Edge at angle 0.
 
const TopoDS_EdgeEndEdge ()
 Returns the Edge at angle Angle. If !HasSides() the StartEdge and the EndEdge are the same edge.
 
const TopoDS_EdgeStartTopEdge ()
 Returns the linear Edge between start Face and top Face.
 
const TopoDS_EdgeStartBottomEdge ()
 Returns the linear Edge between start Face and bottom Face.
 
const TopoDS_EdgeEndTopEdge ()
 Returns the linear Edge between end Face and top Face.
 
const TopoDS_EdgeEndBottomEdge ()
 Returns the linear Edge between end Face and bottom Face.
 
const TopoDS_EdgeTopEdge ()
 Returns the edge at VMax. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.
 
const TopoDS_EdgeBottomEdge ()
 Returns the edge at VMin. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.
 
const TopoDS_VertexAxisTopVertex ()
 Returns the Vertex at the Top altitude on the axis.
 
const TopoDS_VertexAxisBottomVertex ()
 Returns the Vertex at the Bottom altitude on the axis.
 
const TopoDS_VertexTopStartVertex ()
 Returns the vertex (0,VMax)
 
const TopoDS_VertexTopEndVertex ()
 Returns the vertex (angle,VMax)
 
const TopoDS_VertexBottomStartVertex ()
 Returns the vertex (0,VMin)
 
const TopoDS_VertexBottomEndVertex ()
 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
 

Detailed Description

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 :

  • The LateralFace.
  • The TopFace and the BottomFace.
  • The StartFace and the EndFace.

Constructor & Destructor Documentation

◆ ~BRepPrim_OneAxis()

virtual BRepPrim_OneAxis::~BRepPrim_OneAxis ( )
virtual

◆ BRepPrim_OneAxis()

BRepPrim_OneAxis::BRepPrim_OneAxis ( const BRepPrim_Builder & B,
const gp_Ax2 & A,
const Standard_Real VMin,
const Standard_Real VMax )
protected

Creates a OneAxis algorithm. is used to build the Topology. The angle defaults to 2*PI.

Member Function Documentation

◆ Angle() [1/2]

Standard_Real BRepPrim_OneAxis::Angle ( ) const

◆ Angle() [2/2]

void BRepPrim_OneAxis::Angle ( const Standard_Real A)

◆ Axes() [1/2]

const gp_Ax2 & BRepPrim_OneAxis::Axes ( ) const

Returns the Ax2 from <me>.

◆ Axes() [2/2]

void BRepPrim_OneAxis::Axes ( const gp_Ax2 & A)

◆ AxisBottomVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::AxisBottomVertex ( )

Returns the Vertex at the Bottom altitude on the axis.

◆ AxisEdge()

const TopoDS_Edge & BRepPrim_OneAxis::AxisEdge ( )

Returns the Edge built along the Axis and oriented on +Z of the Axis.

◆ AxisEndWire()

const TopoDS_Wire & BRepPrim_OneAxis::AxisEndWire ( )

Returns the Wire in the end face with the AxisEdge.

◆ AxisStartWire()

const TopoDS_Wire & BRepPrim_OneAxis::AxisStartWire ( )

Returns the wire in the start face with the AxisEdge.

◆ AxisTopVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::AxisTopVertex ( )

Returns the Vertex at the Top altitude on the axis.

◆ BottomEdge()

const TopoDS_Edge & BRepPrim_OneAxis::BottomEdge ( )

Returns the edge at VMin. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.

◆ BottomEndVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::BottomEndVertex ( )

Returns the vertex (angle,VMax)

◆ BottomFace()

const TopoDS_Face & BRepPrim_OneAxis::BottomFace ( )

Returns the Bottom planar Face. It is Oriented toward the -Z axis (outside).

◆ BottomStartVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::BottomStartVertex ( )

Returns the vertex (0,VMin)

◆ BottomWire()

const TopoDS_Wire & BRepPrim_OneAxis::BottomWire ( )

Returns the wire in the bottom face.

◆ EndBottomEdge()

const TopoDS_Edge & BRepPrim_OneAxis::EndBottomEdge ( )

Returns the linear Edge between end Face and bottom Face.

◆ EndEdge()

const TopoDS_Edge & BRepPrim_OneAxis::EndEdge ( )

Returns the Edge at angle Angle. If !HasSides() the StartEdge and the EndEdge are the same edge.

◆ EndFace()

const TopoDS_Face & BRepPrim_OneAxis::EndFace ( )

Returns the Face ending the slice, it is oriented toward the exterior of the primitive.

◆ EndTopEdge()

const TopoDS_Edge & BRepPrim_OneAxis::EndTopEdge ( )

Returns the linear Edge between end Face and top Face.

◆ EndWire()

const TopoDS_Wire & BRepPrim_OneAxis::EndWire ( )

Returns the Wire in the end face.

◆ HasBottom()

virtual Standard_Boolean BRepPrim_OneAxis::HasBottom ( ) const
virtual

Returns True if there is a bottom face.

That is neither : VMinInfinite() MeridianClosed() MeridianOnAxis(VMin)

◆ HasSides()

virtual Standard_Boolean BRepPrim_OneAxis::HasSides ( ) const
virtual

Returns True if there are Start and End faces.

That is : 2*PI - Angle > Precision::Angular()

◆ HasTop()

virtual Standard_Boolean BRepPrim_OneAxis::HasTop ( ) const
virtual

Returns True if there is a top face.

That is neither : VMaxInfinite() MeridianClosed() MeridianOnAxis(VMax)

◆ LateralEndWire()

const TopoDS_Wire & BRepPrim_OneAxis::LateralEndWire ( )

Returns the wire with in lateral face with the end edge.

◆ LateralFace()

const TopoDS_Face & BRepPrim_OneAxis::LateralFace ( )

Returns the lateral Face. It is oriented toward the outside of the primitive.

◆ LateralStartWire()

const TopoDS_Wire & BRepPrim_OneAxis::LateralStartWire ( )

Returns the wire in the lateral face with the start edge.

◆ LateralWire()

const TopoDS_Wire & BRepPrim_OneAxis::LateralWire ( )

Returns the wire in the lateral face.

◆ MakeEmptyLateralFace()

virtual TopoDS_Face BRepPrim_OneAxis::MakeEmptyLateralFace ( ) const
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.

◆ MakeEmptyMeridianEdge()

virtual TopoDS_Edge BRepPrim_OneAxis::MakeEmptyMeridianEdge ( const Standard_Real Ang) const
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.

◆ MeridianClosed()

virtual Standard_Boolean BRepPrim_OneAxis::MeridianClosed ( ) const
virtual

Returns True if the meridian is closed. Default implementation is MeridianValue(VMin).IsEqual(MeridianValue(VMax), Precision::Confusion())

◆ MeridianOnAxis()

virtual Standard_Boolean BRepPrim_OneAxis::MeridianOnAxis ( const Standard_Real V) const
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()

◆ MeridianValue()

virtual gp_Pnt2d BRepPrim_OneAxis::MeridianValue ( const Standard_Real V) const
pure virtual

Returns the meridian point at parameter <V> in the plane XZ.

Implemented in BRepPrim_Revolution.

◆ SetMeridianOffset()

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.

◆ SetMeridianPCurve()

virtual void BRepPrim_OneAxis::SetMeridianPCurve ( TopoDS_Edge & E,
const TopoDS_Face & F ) const
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.

◆ Shell()

const TopoDS_Shell & BRepPrim_OneAxis::Shell ( )

Returns the Shell containing all the Faces of the primitive.

◆ StartBottomEdge()

const TopoDS_Edge & BRepPrim_OneAxis::StartBottomEdge ( )

Returns the linear Edge between start Face and bottom Face.

◆ StartEdge()

const TopoDS_Edge & BRepPrim_OneAxis::StartEdge ( )

Returns the Edge at angle 0.

◆ StartFace()

const TopoDS_Face & BRepPrim_OneAxis::StartFace ( )

Returns the Face starting the slice, it is oriented toward the exterior of the primitive.

◆ StartTopEdge()

const TopoDS_Edge & BRepPrim_OneAxis::StartTopEdge ( )

Returns the linear Edge between start Face and top Face.

◆ StartWire()

const TopoDS_Wire & BRepPrim_OneAxis::StartWire ( )

Returns the wire in the start face.

◆ TopEdge()

const TopoDS_Edge & BRepPrim_OneAxis::TopEdge ( )

Returns the edge at VMax. If MeridianClosed() the TopEdge and the BottomEdge are the same edge.

◆ TopEndVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::TopEndVertex ( )

Returns the vertex (angle,VMax)

◆ TopFace()

const TopoDS_Face & BRepPrim_OneAxis::TopFace ( )

Returns the top planar Face. It is Oriented toward the +Z axis (outside).

◆ TopStartVertex()

const TopoDS_Vertex & BRepPrim_OneAxis::TopStartVertex ( )

Returns the vertex (0,VMax)

◆ TopWire()

const TopoDS_Wire & BRepPrim_OneAxis::TopWire ( )

Returns the wire in the top face.

◆ VMax() [1/2]

Standard_Real BRepPrim_OneAxis::VMax ( ) const

◆ VMax() [2/2]

void BRepPrim_OneAxis::VMax ( const Standard_Real V)

◆ VMaxInfinite()

virtual Standard_Boolean BRepPrim_OneAxis::VMaxInfinite ( ) const
virtual

Returns True if VMax is infinite. Default Precision::IsPositiveInfinite(VMax);.

◆ VMin() [1/2]

Standard_Real BRepPrim_OneAxis::VMin ( ) const

◆ VMin() [2/2]

void BRepPrim_OneAxis::VMin ( const Standard_Real V)

◆ VMinInfinite()

virtual Standard_Boolean BRepPrim_OneAxis::VMinInfinite ( ) const
virtual

Returns True if VMin is infinite. Default Precision::IsNegativeInfinite(VMax);.

Field Documentation

◆ myBuilder

BRepPrim_Builder BRepPrim_OneAxis::myBuilder
protected

The documentation for this class was generated from the following file: