Open CASCADE Technology 7.8.2.dev
BRepOffset_SimpleOffset Class Reference

This class represents mechanism of simple offset algorithm i. e. topology-preserve offset construction without intersection. More...

#include <BRepOffset_SimpleOffset.hxx>

Inheritance diagram for BRepOffset_SimpleOffset:

Public Member Functions

 BRepOffset_SimpleOffset (const TopoDS_Shape &theInputShape, const Standard_Real theOffsetValue, const Standard_Real theTolerance)
 Constructor.
 
Standard_Boolean NewSurface (const TopoDS_Face &F, Handle< Geom_Surface > &S, TopLoc_Location &L, Standard_Real &Tol, Standard_Boolean &RevWires, Standard_Boolean &RevFace) override
 Returns Standard_True if the face <F> has been modified. In this case, is the new geometric support of the face, <L> the new location,<Tol> the new tolerance.<RevWires> has to be set to Standard_True when the modification reverses the normal of the surface.(the wires have to be reversed). <RevFace> has to be set to Standard_True if the orientation of the modified face changes in the shells which contain it. – Here, <RevFace> will return Standard_True if the – gp_Trsf is negative.
 
Standard_Boolean NewCurve (const TopoDS_Edge &E, Handle< Geom_Curve > &C, TopLoc_Location &L, Standard_Real &Tol) override
 Returns Standard_True if the edge <E> has been modified. In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns Standard_False, and , <L>, <Tol> are not significant.
 
Standard_Boolean NewPoint (const TopoDS_Vertex &V, gp_Pnt &P, Standard_Real &Tol) override
 Returns Standard_True if the vertex <V> has been modified. In this case,.
 
Standard_Boolean NewCurve2d (const TopoDS_Edge &E, const TopoDS_Face &F, const TopoDS_Edge &NewE, const TopoDS_Face &NewF, Handle< Geom2d_Curve > &C, Standard_Real &Tol) override
 Returns Standard_True if the edge <E> has a new curve on surface on the face <F>.In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns Standard_False, and , <L>, <Tol> are not significant.
 
Standard_Boolean NewParameter (const TopoDS_Vertex &V, const TopoDS_Edge &E, Standard_Real &P, Standard_Real &Tol) override
 Returns Standard_True if the Vertex <V> has a new parameter on the edge <E>. In this case,.
 
GeomAbs_Shape Continuity (const TopoDS_Edge &E, const TopoDS_Face &F1, const TopoDS_Face &F2, const TopoDS_Edge &NewE, const TopoDS_Face &NewF1, const TopoDS_Face &NewF2) override
 Returns the continuity of <NewE> between <NewF1> and <NewF2>.
 
- Public Member Functions inherited from BRepTools_Modification
virtual Standard_Boolean NewTriangulation (const TopoDS_Face &F, Handle< Poly_Triangulation > &T)
 Returns true if the face has been modified according to changed triangulation. If the face has been modified:
 
virtual Standard_Boolean NewPolygon (const TopoDS_Edge &E, Handle< Poly_Polygon3D > &P)
 Returns true if the edge has been modified according to changed polygon. If the edge has been modified:
 
virtual Standard_Boolean NewPolygonOnTriangulation (const TopoDS_Edge &E, const TopoDS_Face &F, Handle< Poly_PolygonOnTriangulation > &P)
 Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

This class represents mechanism of simple offset algorithm i. e. topology-preserve offset construction without intersection.

The list below shows mapping scheme:

  • Each surface is mapped to its geometric offset surface.
  • For each edge, pcurves are mapped to the same pcurves on offset surfaces.
  • For each edge, 3d curve is constructed by re-approximation of pcurve on the first offset face.
  • Position of each vertex in a result shell is computed as average point of all ends of edges shared by that vertex.
  • Tolerances are updated according to the resulting geometry.

Constructor & Destructor Documentation

◆ BRepOffset_SimpleOffset()

BRepOffset_SimpleOffset::BRepOffset_SimpleOffset ( const TopoDS_Shape & theInputShape,
const Standard_Real theOffsetValue,
const Standard_Real theTolerance )

Constructor.

Parameters
theInputShapeshape to be offset
theOffsetValueoffset distance (signed)
theTolerancetolerance for handling singular points

Member Function Documentation

◆ Continuity()

GeomAbs_Shape BRepOffset_SimpleOffset::Continuity ( const TopoDS_Edge & E,
const TopoDS_Face & F1,
const TopoDS_Face & F2,
const TopoDS_Edge & NewE,
const TopoDS_Face & NewF1,
const TopoDS_Face & NewF2 )
overridevirtual

Returns the continuity of <NewE> between <NewF1> and <NewF2>.

<NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>).

Implements BRepTools_Modification.

◆ NewCurve()

Standard_Boolean BRepOffset_SimpleOffset::NewCurve ( const TopoDS_Edge & E,
Handle< Geom_Curve > & C,
TopLoc_Location & L,
Standard_Real & Tol )
overridevirtual

Returns Standard_True if the edge <E> has been modified. In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns Standard_False, and , <L>, <Tol> are not significant.

Implements BRepTools_Modification.

◆ NewCurve2d()

Standard_Boolean BRepOffset_SimpleOffset::NewCurve2d ( const TopoDS_Edge & E,
const TopoDS_Face & F,
const TopoDS_Edge & NewE,
const TopoDS_Face & NewF,
Handle< Geom2d_Curve > & C,
Standard_Real & Tol )
overridevirtual

Returns Standard_True if the edge <E> has a new curve on surface on the face <F>.In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns Standard_False, and , <L>, <Tol> are not significant.

Implements BRepTools_Modification.

◆ NewParameter()

Standard_Boolean BRepOffset_SimpleOffset::NewParameter ( const TopoDS_Vertex & V,
const TopoDS_Edge & E,
Standard_Real & P,
Standard_Real & Tol )
overridevirtual

Returns Standard_True if the Vertex <V> has a new parameter on the edge <E>. In this case,.

is the parameter, <Tol> the new tolerance. Otherwise, returns Standard_False, and

, <Tol> are not significant.

Implements BRepTools_Modification.

◆ NewPoint()

Standard_Boolean BRepOffset_SimpleOffset::NewPoint ( const TopoDS_Vertex & V,
gp_Pnt & P,
Standard_Real & Tol )
overridevirtual

Returns Standard_True if the vertex <V> has been modified. In this case,.

is the new geometric support of the vertex, <Tol> the new tolerance. Otherwise, returns Standard_False, and

, <Tol> are not significant.

Implements BRepTools_Modification.

◆ NewSurface()

Standard_Boolean BRepOffset_SimpleOffset::NewSurface ( const TopoDS_Face & F,
Handle< Geom_Surface > & S,
TopLoc_Location & L,
Standard_Real & Tol,
Standard_Boolean & RevWires,
Standard_Boolean & RevFace )
overridevirtual

Returns Standard_True if the face <F> has been modified. In this case, is the new geometric support of the face, <L> the new location,<Tol> the new tolerance.<RevWires> has to be set to Standard_True when the modification reverses the normal of the surface.(the wires have to be reversed). <RevFace> has to be set to Standard_True if the orientation of the modified face changes in the shells which contain it. – Here, <RevFace> will return Standard_True if the – gp_Trsf is negative.

Implements BRepTools_Modification.


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