From: adv Date: Wed, 15 Jan 2014 10:12:15 +0000 (+0000) Subject: Some useful methods. X-Git-Tag: BR_hydro_v_1_0~98 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=1c19717939f4b641d80505cb54325745337a0893;p=modules%2Fhydro.git Some useful methods. --- diff --git a/src/HYDROData/HYDROData_ShapesTool.cxx b/src/HYDROData/HYDROData_ShapesTool.cxx index 0d742e9f..d591c3a6 100644 --- a/src/HYDROData/HYDROData_ShapesTool.cxx +++ b/src/HYDROData/HYDROData_ShapesTool.cxx @@ -133,3 +133,25 @@ void HYDROData_ShapesTool::AddShapes( TopTools_ListOfShape& theShapes, theShapes.Append( aShape ); } } + +void HYDROData_ShapesTool::DumpShapeSubShapes( std::ostream& theStream, + const char* theTitle, + const TopoDS_Shape& theShape, + const TopAbs_ShapeEnum& theExpType ) +{ + TopTools_SequenceOfShape aShapeSubShapes; + ExploreShapeToShapes( theShape, theExpType, aShapeSubShapes ); + + theStream << theTitle << "\n"; + DumpSequenceOfShapes( theStream, aShapeSubShapes ); +} + +void HYDROData_ShapesTool::DumpSequenceOfShapes( std::ostream& theStream, + const TopTools_SequenceOfShape& theShapes ) +{ + for ( int i = 1, n = theShapes.Length(); i <= n; ++i ) + { + const TopoDS_Shape& aShape = theShapes.Value( i ); + theStream << "Shape " << i << " : " << aShape.TShape() << "\n"; + } +} \ No newline at end of file diff --git a/src/HYDROData/HYDROData_ShapesTool.h b/src/HYDROData/HYDROData_ShapesTool.h index c689a8ea..886b5808 100644 --- a/src/HYDROData/HYDROData_ShapesTool.h +++ b/src/HYDROData/HYDROData_ShapesTool.h @@ -91,6 +91,21 @@ public: */ static void AddShapes( TopTools_ListOfShape& theShapes, const TopTools_ListOfShape& theShapesToAdd ); + + + /** + * \brief Explode and dump the shape to the stream. + */ + static void DumpShapeSubShapes( std::ostream& theStream, + const char* theTitle, + const TopoDS_Shape& theShape, + const TopAbs_ShapeEnum& theExpType ); + + /** + * \brief Dump the shapes sequence to the stream. + */ + static void DumpSequenceOfShapes( std::ostream& theStream, + const TopTools_SequenceOfShape& theShapes ); };