Open CASCADE Technology 6.6.0
Public Member Functions | Protected Attributes
BRepOffsetAPI_MakeOffsetShape Class Reference

Describes functions to build a shell out of a shape. The
result is an unlooped shape parallel to the source shape.
A MakeOffsetShape object provides a framework for:
More...

#include <BRepOffsetAPI_MakeOffsetShape.hxx>

Inheritance diagram for BRepOffsetAPI_MakeOffsetShape:
Inheritance graph
[legend]

Public Member Functions

 BRepOffsetAPI_MakeOffsetShape ()
 BRepOffsetAPI_MakeOffsetShape (const TopoDS_Shape &S, const Standard_Real Offset, const Standard_Real Tol, const BRepOffset_Mode Mode=BRepOffset_Skin, const Standard_Boolean Intersection=Standard_False, const Standard_Boolean SelfInter=Standard_False, const GeomAbs_JoinType Join=GeomAbs_Arc)
 Constructs a shape parallel to the shape S, where

virtual const
BRepOffset_MakeOffset
MakeOffset () const
virtual void Build ()
 Builds the resulting shape (redefined from MakeShape).

virtual const
TopTools_ListOfShape
Generated (const TopoDS_Shape &S)
 Returns the list of shapes generated from the
shape <S>.

const TopTools_ListOfShapeGeneratedEdge (const TopoDS_Shape &S)
 Returns the list of edges generated from the shape <S>.

GeomAbs_JoinType GetJoinType () const
 Returns offset join type.

Protected Attributes

BRepOffset_MakeOffset myOffsetShape

Detailed Description


Constructor & Destructor Documentation

BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape ( )
BRepOffsetAPI_MakeOffsetShape::BRepOffsetAPI_MakeOffsetShape ( const TopoDS_Shape S,
const Standard_Real  Offset,
const Standard_Real  Tol,
const BRepOffset_Mode  Mode = BRepOffset_Skin,
const Standard_Boolean  Intersection = Standard_False,
const Standard_Boolean  SelfInter = Standard_False,
const GeomAbs_JoinType  Join = GeomAbs_Arc 
)
  • S may be a face, a shell, a solid or a compound of these shape kinds;
  • Offset is the offset value. The offset shape is constructed:
  • outside S, if Offset is positive,
  • inside S, if Offset is negative;
  • Tol defines the coincidence tolerance criterion for generated shapes;
  • Mode defines the construction type of parallels
    applied to the free edges of shape S; currently, only one
    construction type is implemented, namely the one where the free
    edges do not generate parallels; this corresponds to the default
    value BRepOffset_Skin;
  • Intersection specifies how the algorithm must work in
    order to limit the parallels to two adjacent shapes:
  • if Intersection is false (default value), the intersection
    is calculated with the parallels to the two adjacent shapes,
  • if Intersection is true, the intersection is calculated by
    taking all generated parallels into account; this computation method is
    more general as it avoids some self-intersections generated in the
    offset shape from features of small dimensions on shape S, however this
    method has not been completely implemented and therefore is not
    recommended for use;
  • SelfInter tells the algorithm whether a computation
    to eliminate self-intersections must be applied to the resulting
    shape; however, as this functionality is not yet
    implemented, it is recommended to use the default value (false);
  • Join defines how to fill the holes that may appear between
    parallels to the two adjacent faces. It may take values
    GeomAbs_Arc or GeomAbs_Intersection:
  • if Join is equal to GeomAbs_Arc, then pipes are generated
    between two free edges of two adjacent parallels,
    and spheres are generated on "images" of vertices;
    it is the default value,
  • if Join is equal to GeomAbs_Intersection, then the parallels to the
    two adjacent faces are enlarged and intersected,
    so that there are no free edges on parallels to faces.
    Warnings
    1. All the faces of the shape S should be based on the surfaces
    with continuity at least C1.
    2. The offset value should be sufficiently small to avoid
    self-intersections in resulting shape. Otherwise these
    self-intersections may appear inside an offset face if its
    initial surface is not plane or sphere or cylinder, also some
    non-adjacent offset faces may intersect each other. Also, some
    offset surfaces may "turn inside out".
    3. The algorithm may fail if the shape S contains vertices where
    more than 3 edges converge.
    4. Since 3d-offset algorithm involves intersection of surfaces,
    it is under limitations of surface intersection algorithm.
    5. A result cannot be generated if the underlying geometry of S is
    BSpline with continuity C0.
    Exceptions
    Geom_UndefinedDerivative if the underlying
    geometry of S is BSpline with continuity C0.

Member Function Documentation

virtual void BRepOffsetAPI_MakeOffsetShape::Build ( ) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

Reimplemented in BRepOffsetAPI_MakeThickSolid.

virtual const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::Generated ( const TopoDS_Shape S) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

const TopTools_ListOfShape& BRepOffsetAPI_MakeOffsetShape::GeneratedEdge ( const TopoDS_Shape S)
GeomAbs_JoinType BRepOffsetAPI_MakeOffsetShape::GetJoinType ( ) const
virtual const BRepOffset_MakeOffset& BRepOffsetAPI_MakeOffsetShape::MakeOffset ( ) const [virtual]

Field Documentation


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines