Open CASCADE Technology 7.8.2.dev
ShapeCustom Class Reference

This package is intended to convert geometrical objects and topological. The modifications of one geometrical object to another (one) geometrical object are provided. The supported modifications are the following: conversion of BSpline and Bezier surfaces to analytical form, conversion of indirect elementary surfaces (with left-handed coordinate systems) into direct ones, conversion of elementary surfaces to surfaces of revolution, conversion of surface of linear extrusion, revolution, offset surface to bspline, modification of parameterization, degree, number of segments of bspline surfaces, scale the shape. More...

#include <ShapeCustom.hxx>

Static Public Member Functions

static TopoDS_Shape ApplyModifier (const TopoDS_Shape &S, const Handle< BRepTools_Modification > &M, TopTools_DataMapOfShapeShape &context, BRepTools_Modifier &MD, const Message_ProgressRange &theProgress=Message_ProgressRange(), const Handle< ShapeBuild_ReShape > &aReShape=NULL)
 Applies modifier to shape and checks sharing in the case assemblies.
 
static TopoDS_Shape DirectFaces (const TopoDS_Shape &S)
 Returns a new shape without indirect surfaces.
 
static TopoDS_Shape ScaleShape (const TopoDS_Shape &S, const Standard_Real scale)
 Returns a new shape which is scaled original.
 
static TopoDS_Shape BSplineRestriction (const TopoDS_Shape &S, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer MaxDegree, const Standard_Integer MaxNbSegment, const GeomAbs_Shape Continuity3d, const GeomAbs_Shape Continuity2d, const Standard_Boolean Degree, const Standard_Boolean Rational, const Handle< ShapeCustom_RestrictionParameters > &aParameters)
 Returns a new shape with all surfaces, curves and pcurves which type is BSpline/Bezier or based on them converted having Degree less than <MaxDegree> or number of spans less than <NbMaxSegment> in dependence on parameter priority <Degree>. <GmaxDegree> and <GMaxSegments> are maximum possible degree and number of spans correspondingly. These values will be used in those cases when approximation with specified parameters is impossible and one of GmaxDegree or GMaxSegments is selected in dependence on priority. Note that even if approximation is impossible with <GMaxDegree> then number of spans can exceed specified <GMaxSegment> <Rational> specifies if to convert Rational BSpline/Bezier into polynomial B-Spline. If flags ConvOffSurf,ConvOffCurve3d,ConvOffCurve2d are Standard_True there are means that Offset surfaces , Offset curves 3d and Offset curves 2d are converted to BSPline correspondingly.
 
static TopoDS_Shape ConvertToRevolution (const TopoDS_Shape &S)
 Returns a new shape with all elementary periodic surfaces converted to Geom_SurfaceOfRevolution.
 
static TopoDS_Shape SweptToElementary (const TopoDS_Shape &S)
 Returns a new shape with all surfaces of revolution and linear extrusion convert to elementary periodic surfaces.
 
static TopoDS_Shape ConvertToBSpline (const TopoDS_Shape &S, const Standard_Boolean extrMode, const Standard_Boolean revolMode, const Standard_Boolean offsetMode, const Standard_Boolean planeMode=Standard_False)
 Returns a new shape with all surfaces of linear extrusion, revolution, offset, and planar surfaces converted according to flags to Geom_BSplineSurface (with same parameterisation).
 

Detailed Description

This package is intended to convert geometrical objects and topological. The modifications of one geometrical object to another (one) geometrical object are provided. The supported modifications are the following: conversion of BSpline and Bezier surfaces to analytical form, conversion of indirect elementary surfaces (with left-handed coordinate systems) into direct ones, conversion of elementary surfaces to surfaces of revolution, conversion of surface of linear extrusion, revolution, offset surface to bspline, modification of parameterization, degree, number of segments of bspline surfaces, scale the shape.

Member Function Documentation

◆ ApplyModifier()

static TopoDS_Shape ShapeCustom::ApplyModifier ( const TopoDS_Shape & S,
const Handle< BRepTools_Modification > & M,
TopTools_DataMapOfShapeShape & context,
BRepTools_Modifier & MD,
const Message_ProgressRange & theProgress = Message_ProgressRange(),
const Handle< ShapeBuild_ReShape > & aReShape = NULL )
static

Applies modifier to shape and checks sharing in the case assemblies.

◆ BSplineRestriction()

static TopoDS_Shape ShapeCustom::BSplineRestriction ( const TopoDS_Shape & S,
const Standard_Real Tol3d,
const Standard_Real Tol2d,
const Standard_Integer MaxDegree,
const Standard_Integer MaxNbSegment,
const GeomAbs_Shape Continuity3d,
const GeomAbs_Shape Continuity2d,
const Standard_Boolean Degree,
const Standard_Boolean Rational,
const Handle< ShapeCustom_RestrictionParameters > & aParameters )
static

Returns a new shape with all surfaces, curves and pcurves which type is BSpline/Bezier or based on them converted having Degree less than <MaxDegree> or number of spans less than <NbMaxSegment> in dependence on parameter priority <Degree>. <GmaxDegree> and <GMaxSegments> are maximum possible degree and number of spans correspondingly. These values will be used in those cases when approximation with specified parameters is impossible and one of GmaxDegree or GMaxSegments is selected in dependence on priority. Note that even if approximation is impossible with <GMaxDegree> then number of spans can exceed specified <GMaxSegment> <Rational> specifies if to convert Rational BSpline/Bezier into polynomial B-Spline. If flags ConvOffSurf,ConvOffCurve3d,ConvOffCurve2d are Standard_True there are means that Offset surfaces , Offset curves 3d and Offset curves 2d are converted to BSPline correspondingly.

◆ ConvertToBSpline()

static TopoDS_Shape ShapeCustom::ConvertToBSpline ( const TopoDS_Shape & S,
const Standard_Boolean extrMode,
const Standard_Boolean revolMode,
const Standard_Boolean offsetMode,
const Standard_Boolean planeMode = Standard_False )
static

Returns a new shape with all surfaces of linear extrusion, revolution, offset, and planar surfaces converted according to flags to Geom_BSplineSurface (with same parameterisation).

◆ ConvertToRevolution()

static TopoDS_Shape ShapeCustom::ConvertToRevolution ( const TopoDS_Shape & S)
static

Returns a new shape with all elementary periodic surfaces converted to Geom_SurfaceOfRevolution.

◆ DirectFaces()

static TopoDS_Shape ShapeCustom::DirectFaces ( const TopoDS_Shape & S)
static

Returns a new shape without indirect surfaces.

◆ ScaleShape()

static TopoDS_Shape ShapeCustom::ScaleShape ( const TopoDS_Shape & S,
const Standard_Real scale )
static

Returns a new shape which is scaled original.

◆ SweptToElementary()

static TopoDS_Shape ShapeCustom::SweptToElementary ( const TopoDS_Shape & S)
static

Returns a new shape with all surfaces of revolution and linear extrusion convert to elementary periodic surfaces.


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