Classes | |
struct | CompareShapes |
Sort shapes in the list by their coordinates. More... | |
Typedefs | |
typedef std::map< std::string, NodeLinks > | LevelInfo |
typedef std::vector< LevelInfo > | LevelsList |
typedef std::vector< std::string > | NodeLinks |
typedef std::map< std::string, std::pair< LevelsList, LevelsList > > | TreeModel |
Functions | |
Standard_EXPORT void | AddSimpleShapes (const TopoDS_Shape &theShape, TopTools_ListOfShape &theList) |
Recursively extract all shapes from compounds and compsolids of the given shape into theList. More... | |
Standard_EXPORT bool | CheckShape (TopoDS_Shape &shape, bool checkGeometry=false) |
Check shape. More... | |
Standard_EXPORT bool | CheckTriangulation (const TopoDS_Shape &theShape) |
Build a triangulation on theShape if it is absent. More... | |
Standard_EXPORT TopoDS_Shape | CompsolidToCompound (const TopoDS_Shape &theCompsolid) |
Convert TopoDS_COMPSOLID to TopoDS_COMPOUND. More... | |
Standard_EXPORT gp_Pnt | ConvertClickToPoint (int x, int y, Handle(V3d_View) theView) |
Returns the point clicked in 3D view. More... | |
Standard_EXPORT void | ConvertStringToTree (const std::string &dependencyStr, TreeModel &tree) |
Restore dependency tree data from the string representation. More... | |
Standard_EXPORT void | ConvertTreeToString (const TreeModel &tree, std::string &dependencyStr) |
Convert dependency tree data to the string representation. More... | |
Standard_EXPORT double | DefaultDeflection () |
Get default deflection coefficient used for triangulation. More... | |
Standard_EXPORT bool | FixShapeCurves (TopoDS_Shape &shape) |
Fix curves of the given shape. More... | |
Standard_EXPORT bool | FixShapeTolerance (TopoDS_Shape &shape, bool checkGeometry) |
Limit shape tolerance to the given value This is overloaded function, it behaves exactly as previous one. More... | |
Standard_EXPORT bool | FixShapeTolerance (TopoDS_Shape &shape, Standard_Real tolerance=Precision::Confusion(), bool checkGeometry=false) |
Limit shape tolerance to the given value This is overloaded function, it behaves exactly as previous one. More... | |
Standard_EXPORT bool | FixShapeTolerance (TopoDS_Shape &shape, TopAbs_ShapeEnum type, Standard_Real tolerance=Precision::Confusion(), bool checkGeometry=false) |
Limit shape tolerance to the given value. More... | |
Standard_EXPORT TopoDS_Shape | GetEdgeNearPoint (const TopoDS_Shape &theShape, const TopoDS_Vertex &thePoint) |
Find an edge of theShape, closest to thePoint. More... | |
Standard_EXPORT Standard_Real | GetMinDistance (const TopoDS_Shape &theShape1, const TopoDS_Shape &theShape2, gp_Pnt &thePnt1, gp_Pnt &thePnt2) |
Computes minumal distance between two shapes. More... | |
Standard_EXPORT Standard_Real | GetMinDistanceSingular (const TopoDS_Shape &aSh1, const TopoDS_Shape &aSh2, gp_Pnt &Ptmp1, gp_Pnt &Ptmp2) |
Computes minumal distance between two shapes for singular cases (workaround for bugs 19899, 19908 and 19910 from Mantis). More... | |
Standard_EXPORT gp_Ax3 | GetPosition (const TopoDS_Shape &theShape) |
Get Local Coordinate System, corresponding to the given shape. More... | |
Standard_EXPORT TopAbs_ShapeEnum | GetTypeOfSimplePart (const TopoDS_Shape &theShape) |
Return type of shape for explode. In case of compound it will be a type of its first sub shape. More... | |
Standard_EXPORT gp_Vec | GetVector (const TopoDS_Shape &theShape, Standard_Boolean doConsiderOrientation) |
Get vector, defined by the given edge. More... | |
Standard_EXPORT bool | IsOpenPath (const TopoDS_Shape &theShape) |
Check if the shape is not a closed wire or edge. More... | |
Standard_EXPORT void | MeshShape (const TopoDS_Shape shape, double deflection, bool forced=true) |
Generate triangulation for the shape. More... | |
Standard_EXPORT Standard_Boolean | PreciseBoundingBox (const TopoDS_Shape &theShape, Bnd_Box &theBox) |
Compute precise bounding box of the shape based on the rough bounding box. More... | |
Standard_EXPORT TopoDS_Shape | ReduceCompound (const TopoDS_Shape &shape) |
Extract single SOLID from COMPSOLID or COMPOUND. More... | |
Standard_EXPORT std::pair< double, double > | ShapeToDouble (const TopoDS_Shape &theShape, bool isOldSorting=false) |
Compute numerical functor for the shape. More... | |
Standard_EXPORT void | SortShapes (TopTools_ListOfShape &SL, const Standard_Boolean isOldSorting=Standard_True) |
Sort shapes by their centers of mass, using formula X*999 + Y*99 + Z*0.9. More... | |
Standard_EXPORT bool | Write (const TopoDS_Shape &shape, const char *fileName) |
Write shape to the BREP file. More... | |
typedef std::map<std::string, NodeLinks> GEOMUtils::LevelInfo |
typedef std::vector<LevelInfo> GEOMUtils::LevelsList |
typedef std::vector<std::string> GEOMUtils::NodeLinks |
typedef std::map<std::string,std::pair<LevelsList,LevelsList> > GEOMUtils::TreeModel |
void GEOMUtils::AddSimpleShapes | ( | const TopoDS_Shape & | theShape, |
TopTools_ListOfShape & | theList | ||
) |
Recursively extract all shapes from compounds and compsolids of the given shape into theList.
If theShape is not compound or compsolid, theList will contain only theShape itself.
theShape | The shape to be exploded. |
theList | Output parameter. |
References AddSimpleShapes().
Referenced by AddSimpleShapes().
Check shape.
shape | input shape object |
checkGeometry | when set to true , causes check of underlying geometry in addition to the topology |
true
if shape is valid or false
otherwise Referenced by FixShapeCurves(), and FixShapeTolerance().
bool GEOMUtils::CheckTriangulation | ( | const TopoDS_Shape & | theShape | ) |
Build a triangulation on theShape if it is absent.
theShape | The shape to check/build triangulation on. |
bool | Returns false if the shape has no faces, i.e. impossible to build triangulation. |
TopoDS_Shape GEOMUtils::CompsolidToCompound | ( | const TopoDS_Shape & | theCompsolid | ) |
Convert TopoDS_COMPSOLID to TopoDS_COMPOUND.
If the argument shape is not of type TopoDS_COMPSOLID, this method returns it as is.
theCompsolid | The compsolid to be converted. |
TopoDS_Shape | Returns the resulting compound. |
References draftfunctions.move::move().
Returns the point clicked in 3D view.
x | The X coordinate in the view. |
y | The Y coordinate in the view. |
theView | View where the given point takes place. |
gp_Pnt | Returns the point clicked in 3D view |
void GEOMUtils::ConvertStringToTree | ( | const std::string & | dependencyStr, |
TreeModel & | tree | ||
) |
Restore dependency tree data from the string representation.
dependencyStr | string representation of tree data |
tree | output dependency tree data |
void GEOMUtils::ConvertTreeToString | ( | const TreeModel & | tree, |
std::string & | dependencyStr | ||
) |
Convert dependency tree data to the string representation.
tree | dependency tree data |
dependencyStr | output string |
double GEOMUtils::DefaultDeflection | ( | ) |
Get default deflection coefficient used for triangulation.
Referenced by MeshShape().
bool GEOMUtils::FixShapeCurves | ( | TopoDS_Shape & | shape | ) |
Fix curves of the given shape.
The function checks each curve of the input shape in the following way:
shape | shape being fixed |
true
if resulting shape is valid References CheckShape().
Limit shape tolerance to the given value This is overloaded function, it behaves exactly as previous one.
References FixShapeTolerance().
bool GEOMUtils::FixShapeTolerance | ( | TopoDS_Shape & | shape, |
Standard_Real | tolerance = Precision::Confusion() , |
||
bool | checkGeometry = false |
||
) |
Limit shape tolerance to the given value This is overloaded function, it behaves exactly as previous one.
References FixShapeTolerance(), and draftutils.utils::tolerance().
bool GEOMUtils::FixShapeTolerance | ( | TopoDS_Shape & | shape, |
TopAbs_ShapeEnum | type, | ||
Standard_Real | tolerance = Precision::Confusion() , |
||
bool | checkGeometry = false |
||
) |
Limit shape tolerance to the given value.
shape | shape being fixed |
type | topology type which tolerance is to be limited; TopAbs_SHAPE means all types of topology |
tolerance | expected tolerance value (1e-7 by default) |
checkGeometry | check geometry validity of result |
true
if resulting shape is validtrue
to checkGeometry parameter References CheckShape(), and draftutils.utils::tolerance().
Referenced by FixShapeTolerance().
TopoDS_Shape GEOMUtils::GetEdgeNearPoint | ( | const TopoDS_Shape & | theShape, |
const TopoDS_Vertex & | thePoint | ||
) |
Find an edge of theShape, closest to thePoint.
theShape | The shape to explore. |
thePoint | The point near the required edge. |
TopoDS_Shape | Returns the found edge or an empty shape if multiple edges found. |
Standard_Real GEOMUtils::GetMinDistance | ( | const TopoDS_Shape & | theShape1, |
const TopoDS_Shape & | theShape2, | ||
gp_Pnt & | thePnt1, | ||
gp_Pnt & | thePnt2 | ||
) |
Computes minumal distance between two shapes.
theShape1 | the first shape |
theShape2 | the second shape |
thePnt1 | the output result point on the first shape |
thePnt2 | the output result point on the second shape |
negative | value in case of failure; otherwise the real distance. |
References DraftVecUtils::dist(), and GetMinDistanceSingular().
Referenced by PreciseBoundingBox().
double GEOMUtils::GetMinDistanceSingular | ( | const TopoDS_Shape & | aSh1, |
const TopoDS_Shape & | aSh2, | ||
gp_Pnt & | Ptmp1, | ||
gp_Pnt & | Ptmp2 | ||
) |
Computes minumal distance between two shapes for singular cases (workaround for bugs 19899, 19908 and 19910 from Mantis).
aSh1 | the first shape |
aSh2 | the second shape |
Ptmp1 | the output result point on the first shape |
Ptmp2 | the output result point on the second shape |
negative | value if it is not a singular case; actual distance for singular case. |
Referenced by GetMinDistance().
gp_Ax3 GEOMUtils::GetPosition | ( | const TopoDS_Shape & | theShape | ) |
Get Local Coordinate System, corresponding to the given shape.
Origin of the LCS is situated at the shape's center of mass. Axes of the LCS are obtained from shape's location or, if the shape is a planar face, from position of its plane.
References GetTypeOfSimplePart().
TopAbs_ShapeEnum GEOMUtils::GetTypeOfSimplePart | ( | const TopoDS_Shape & | theShape | ) |
Return type of shape for explode. In case of compound it will be a type of its first sub shape.
theShape | The shape to get type of. |
TopAbs_ShapeEnum | Return type of shape for explode. |
References GetTypeOfSimplePart().
Referenced by GetPosition(), and GetTypeOfSimplePart().
gp_Vec GEOMUtils::GetVector | ( | const TopoDS_Shape & | theShape, |
Standard_Boolean | doConsiderOrientation | ||
) |
Get vector, defined by the given edge.
theShape | The edge. |
doConsiderOrientation | If True, take into account the edge orientation. |
bool GEOMUtils::IsOpenPath | ( | const TopoDS_Shape & | theShape | ) |
Check if the shape is not a closed wire or edge.
This function is used for pipe creation algorithm to test if the pipe path is not closed. It returns false if theShape is a wire or an edge with coincident end vertices. Otherwise it returns true.
theShape | the shape to be tested. |
void GEOMUtils::MeshShape | ( | const TopoDS_Shape | shape, |
double | deflection, | ||
bool | forced = true |
||
) |
Generate triangulation for the shape.
shape | shape being meshed |
deflection | deflection coefficient to be used |
forced | if true , causes generation of mesh regardless it is already present in the shape |
References DefaultDeflection().
Standard_Boolean GEOMUtils::PreciseBoundingBox | ( | const TopoDS_Shape & | theShape, |
Bnd_Box & | theBox | ||
) |
Compute precise bounding box of the shape based on the rough bounding box.
theShape | the shape. |
theBox | rough bounding box on input; precise bounding box on output. |
Standard_True | in case of success; Standard_False otherwise. |
References GetMinDistance().
Referenced by SMESH_Mesh::GetShapeDiagonalSize().
TopoDS_Shape GEOMUtils::ReduceCompound | ( | const TopoDS_Shape & | shape | ) |
Extract single SOLID from COMPSOLID or COMPOUND.
If the argument shape is a COMPOUND or COMPSOLID and there's only single simple-shape type inside, this sub-shape is returned as a result; otherwise, the shape is not changed.
shape | compound or compsolid being processed. |
TopoDS_Shape | resulting shape |
References ReduceCompound().
Referenced by ReduceCompound().
std::pair< double, double > GEOMUtils::ShapeToDouble | ( | const TopoDS_Shape & | theShape, |
bool | isOldSorting = false |
||
) |
Compute numerical functor for the shape.
Resulting value can be used to sort out shapes according to some parameter.
Returns a pair of two values (dist, functor) where
The numerical functor is computed according to the shape's topological properties as follows:
If isOldSorting parameter is set to true
, for all cases linear properties of the shape are used (to support backward compatibility in some methods). By default, this parameter is set to false
.
Referenced by GEOMUtils::CompareShapes::operator()().
void GEOMUtils::SortShapes | ( | TopTools_ListOfShape & | SL, |
const Standard_Boolean | isOldSorting = Standard_True |
||
) |
Sort shapes by their centers of mass, using formula X*999 + Y*99 + Z*0.9.
bool GEOMUtils::Write | ( | const TopoDS_Shape & | shape, |
const char * | fileName | ||
) |
Write shape to the BREP file.
source | shape |
true
if file was written or false
otherwise