* coincident with \a theShapeWhat or could be a part of it.
* \param theShapeWhere Shape to find sub-shapes of.
* \param theShapeWhat Shape, specifying what to find.
- * \return Group of all found sub-shapes or a single found sub-shape.
+ * \return Compound which includes all found sub-shapes if they have different types;
+ * or group of all found shapes of the equal type; or a single found sub-shape.
*/
GEOM_Object GetInPlace (in GEOM_Object theShapeWhere,
in GEOM_Object theShapeWhat);
*
* \param theShapeWhere Shape to find sub-shapes of.
* \param theShapeWhat Shape, specifying what to find.
- * \return Group of all found sub-shapes or a single found sub-shape.
+ * \return Compound which includes all found sub-shapes if they have different types;
+ * or group of all found shapes of the equal type; or a single found sub-shape.
*/
GEOM_Object GetInPlaceByHistory (in GEOM_Object theShapeWhere,
in GEOM_Object theShapeWhat);
# for result publication in the study. Otherwise, if automatic
# publication is switched on, default value is used for result name.
#
- # @return Group of all found sub-shapes or a single found sub-shape.
+ # @return Compound which includes all found sub-shapes if they have different types;
+ # or group of all found shapes of the equal type; or a single found sub-shape.
#
# @note This function has a restriction on argument shapes.
# If \a theShapeWhere has curved parts with significantly
publication is switched on, default value is used for result name.
Returns:
- Group of all found sub-shapes or a single found sub-shape.
+ Compound which includes all found sub-shapes if they have different types;
+ or group of all found shapes of the equal type; or a single found sub-shape.
Note:
# for result publication in the study. Otherwise, if automatic
# publication is switched on, default value is used for result name.
#
- # @return Group of all found sub-shapes or a single found sub-shape.
+ # @return Compound which includes all found sub-shapes if they have different types;
+ # or group of all found shapes of the equal type; or a single found sub-shape.
#
# @ref swig_GetInPlace "Example"
@ManageTransactions("ShapesOp")
publication is switched on, default value is used for result name.
Returns:
- Group of all found sub-shapes or a single found sub-shape.
+ Compound which includes all found sub-shapes if they have different types;
+ or group of all found shapes of the equal type; or a single found sub-shape.
"""
# Example: see GEOM_TestOthers.py
anObj = self.ShapesOp.GetInPlaceByHistory(theShapeWhere, theShapeWhat)
MESSAGE( "XAOPlugin_IOperations::~XAOPlugin_IOperations" );
}
-void XAOPlugin_IOperations::exportGroups( std::list<Handle(GEOM_Object)> groupList,
- XAO::Xao* xaoObject,
- XAO::BrepGeometry* geometry )
+bool XAOPlugin_IOperations::exportGroups( std::list<Handle(GEOM_Object)> groupList,
+ XAO::Xao* xaoObject,
+ XAO::BrepGeometry* geometry )
{
// add the groups
std::list<Handle(GEOM_Object)>::iterator groupIterator = groupList.begin();
while (groupIterator != groupList.end())
{
Handle(GEOM_Object) currGroup = (*groupIterator++);
+ if (currGroup->GetType() != GEOM_GROUP) {
+ SetErrorCode("Error when export groups: you could perform this operation only with group.");
+ return false;
+ }
Handle(TColStd_HArray1OfInteger) groupIds = myGroupOperations->GetObjects(currGroup);
TopAbs_ShapeEnum shapeGroup = myGroupOperations->GetType(currGroup);
break;
}
}
+ return true;
}
void XAOPlugin_IOperations::exportFields( std::list<Handle(GEOM_Field)> fieldList,
- XAO::Xao* xaoObject,
- XAO::BrepGeometry* geometry )
+ XAO::Xao* xaoObject,
+ XAO::BrepGeometry* geometry )
{
std::list<Handle(GEOM_Field)>::iterator fieldIterator = fieldList.begin();
while (fieldIterator != fieldList.end())
*/
//=============================================================================
bool XAOPlugin_IOperations::ExportXAO( Handle(GEOM_Object) shape,
- std::list<Handle(GEOM_Object)> groupList,
- std::list<Handle(GEOM_Field)> fieldList,
- const char* author,
- const char* fileName )
+ std::list<Handle(GEOM_Object)> groupList,
+ std::list<Handle(GEOM_Field)> fieldList,
+ const char* author,
+ const char* fileName )
{
SetErrorCode(KO);
exportSubshapes(shape, geometry);
xaoObject->setGeometry(geometry);
- exportGroups(groupList, xaoObject, geometry);
+ if (!exportGroups(groupList, xaoObject, geometry)) return false;
exportFields(fieldList, xaoObject, geometry);
// export the XAO to the file
}
void XAOPlugin_IOperations::importSubShapes( XAO::Geometry* xaoGeometry,
- Handle(GEOM_Function) function, int shapeType, int dim,
- Handle(TColStd_HSequenceOfTransient)& subShapeList )
+ Handle(GEOM_Function) function, int shapeType, int dim,
+ Handle(TColStd_HSequenceOfTransient)& subShapeList )
{
Handle(GEOM_Object) subShape;
Handle(GEOM_Function) aFunction;
*/
//=============================================================================
bool XAOPlugin_IOperations::ImportXAO( const char* fileName,
- Handle(GEOM_Object)& shape,
- Handle(TColStd_HSequenceOfTransient)& subShapes,
- Handle(TColStd_HSequenceOfTransient)& groups,
- Handle(TColStd_HSequenceOfTransient)& fields )
+ Handle(GEOM_Object)& shape,
+ Handle(TColStd_HSequenceOfTransient)& subShapes,
+ Handle(TColStd_HSequenceOfTransient)& groups,
+ Handle(TColStd_HSequenceOfTransient)& fields )
{
SetErrorCode(KO);
~XAOPlugin_IOperations();
bool ExportXAO( Handle(GEOM_Object) shape,
- std::list<Handle(GEOM_Object)> groupList,
- std::list<Handle(GEOM_Field)> fieldList,
- const char* author,
- const char* fileName );
+ std::list<Handle(GEOM_Object)> groupList,
+ std::list<Handle(GEOM_Field)> fieldList,
+ const char* author,
+ const char* fileName );
bool ImportXAO( const char* fileName,
- Handle(GEOM_Object)& shape,
- Handle(TColStd_HSequenceOfTransient)& subShapes,
- Handle(TColStd_HSequenceOfTransient)& groups,
- Handle(TColStd_HSequenceOfTransient)& fields );
+ Handle(GEOM_Object)& shape,
+ Handle(TColStd_HSequenceOfTransient)& subShapes,
+ Handle(TColStd_HSequenceOfTransient)& groups,
+ Handle(TColStd_HSequenceOfTransient)& fields );
private:
- void importSubShapes( XAO::Geometry* xaoGeometry,
- Handle(GEOM_Function) function,
- int shapeType,
- int dim,
- Handle(TColStd_HSequenceOfTransient)& subshapeList );
- void exportSubshapes( const Handle(GEOM_Object)& shape,
- XAO::BrepGeometry* geometry );
- void exportFields( std::list<Handle(GEOM_Field)> fieldList,
- XAO::Xao* xaoObject,
- XAO::BrepGeometry* geometry );
- void exportGroups( std::list<Handle(GEOM_Object)> groupList,
- XAO::Xao* xaoObject,
- XAO::BrepGeometry* geometry );
+ void importSubShapes( XAO::Geometry* xaoGeometry,
+ Handle(GEOM_Function) function,
+ int shapeType,
+ int dim,
+ Handle(TColStd_HSequenceOfTransient)& subshapeList );
+ void exportSubshapes( const Handle(GEOM_Object)& shape,
+ XAO::BrepGeometry* geometry );
+ void exportFields( std::list<Handle(GEOM_Field)> fieldList,
+ XAO::Xao* xaoObject,
+ XAO::BrepGeometry* geometry );
+ bool exportGroups( std::list<Handle(GEOM_Object)> groupList,
+ XAO::Xao* xaoObject,
+ XAO::BrepGeometry* geometry );
};
#endif