From: abd Date: Wed, 7 Feb 2007 11:39:35 +0000 (+0000) Subject: Merging with WPdev X-Git-Tag: T4_0_a1~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=fd7c28d4837da3cc4e8af51132b4a695a59c77a9;p=modules%2Fgeom.git Merging with WPdev --- diff --git a/doc/salome/gui/GEOM/pics/set_rotation_point_dialog1.png b/doc/salome/gui/GEOM/pics/set_rotation_point_dialog1.png new file mode 100644 index 000000000..bdab73b7d Binary files /dev/null and b/doc/salome/gui/GEOM/pics/set_rotation_point_dialog1.png differ diff --git a/doc/salome/gui/GEOM/pics/set_rotation_point_dialog2.png b/doc/salome/gui/GEOM/pics/set_rotation_point_dialog2.png new file mode 100644 index 000000000..7f3696a56 Binary files /dev/null and b/doc/salome/gui/GEOM/pics/set_rotation_point_dialog2.png differ diff --git a/doc/salome/gui/GEOM/pics/transformation4a.png b/doc/salome/gui/GEOM/pics/transformation4a.png new file mode 100644 index 000000000..64d2d4149 Binary files /dev/null and b/doc/salome/gui/GEOM/pics/transformation4a.png differ diff --git a/doc/salome/gui/GEOM/pics/view_rotation_point.png b/doc/salome/gui/GEOM/pics/view_rotation_point.png new file mode 100644 index 000000000..7fe8f8389 Binary files /dev/null and b/doc/salome/gui/GEOM/pics/view_rotation_point.png differ diff --git a/doc/salome/tui/GEOM/sources/bg_salome.gif b/doc/salome/tui/GEOM/sources/bg_salome.gif index 677b70468..429489c69 100755 Binary files a/doc/salome/tui/GEOM/sources/bg_salome.gif and b/doc/salome/tui/GEOM/sources/bg_salome.gif differ diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 95391389b..59f490e7f 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -470,6 +470,34 @@ module GEOM in double theStep2, in long theNbTimes2); + /*! + * Rotate given object around vector perpendicular to plane containing three points. + * \param theObject The object to be rotated. + * \param theCentPoint central point - the axis is the vector perpendicular to the plane + * containing the three points. + * \param thePoint1 and thePoint2 - in a perpendicular plan of the axis. + * \return theObject. + */ + GEOM_Object RotateThreePoints (in GEOM_Object theObject, + in GEOM_Object theCentPoint, + in GEOM_Object thePoint1, + in GEOM_Object thePoint2); + + + /*! + * Rotate given object around vector perpendicular to plane containing three points. + * Creating its copy before the rotatation. + * \param theObject The object to be rotated. + * \param theCentPoint central point - the axis is the vector perpendicular to the plane + * containing the three points. + * \param thePoint1 and thePoint2 - in a perpendicular plan of the axis. + * \return New GEOM_Object, containing the rotated object. + */ + GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject, + in GEOM_Object theCentPoint, + in GEOM_Object thePoint1, + in GEOM_Object thePoint2); + /*! * Rotate the given object around the given axis on the given angle. * \param theObject The object to be rotated. @@ -481,6 +509,7 @@ module GEOM in GEOM_Object theAxis, in double theAngle); + /*! * Rotate the given object around the given axis * on the given angle, creating its copy before the rotatation. @@ -493,6 +522,7 @@ module GEOM in GEOM_Object theAxis, in double theAngle); + /*! * Rotate the given object around the given axis a given number times. * Rotation angle will be 2*PI/theNbTimes. @@ -884,7 +914,7 @@ module GEOM /*! * Create a face on the given wire. - * \param theWire Wire to build the face on. + * \param theWire closed Wire or Edge to build the face on. * \param isPlanarWanted If TRUE, only planar face will be built. * If impossible, NULL object will be returned. * \return New GEOM_Object, containing the created face. @@ -893,7 +923,7 @@ module GEOM /*! * Create a face on the given wires set. - * \param theWires List of wires to build the face on. + * \param theWires List of closed wires or edges to build the face on. * \param isPlanarWanted If TRUE, only planar face will be built. * If impossible, NULL object will be returned. * \return New GEOM_Object, containing the created face. @@ -1053,6 +1083,24 @@ module GEOM in long theShapeType, in GEOM_Object theAx1, in shape_state theState); + /*! + * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively + * the specified plane by the certain way, defined through \a theState parameter. + * \param theShape Shape to find sub-shapes of. + * \param theShapeType Type of sub-shapes to be retrieved. + * \param theAx1 Vector (or line, or linear edge), specifying normal + * direction of the plane to find shapes on. + * \param thePnt Point specifying location of the plane to find shapes on. + * \param theState The state of the subshapes to find. + * \return List of all found sub-shapes. + */ + ListOfGO GetShapesOnPlaneWithLocation (in GEOM_Object theShape, + in long theShapeType, + in GEOM_Object theAx1, + in GEOM_Object thePnt, + in shape_state theState); + + /*! * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively @@ -1121,6 +1169,23 @@ module GEOM in long theShapeType, in GEOM_Object theAx1, in shape_state theState); + + /*! + * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively + * the specified plane by the certain way, defined through \a theState parameter. + * \param theShape Shape to find sub-shapes of. + * \param theShapeType Type of sub-shapes to be retrieved. + * \param theAx1 Vector (or line, or linear edge), specifying normal + * direction of the plane to find shapes on. + * \param thePnt Point specifying location of the plane to find shapes on. + * \param theState The state of the subshapes to find. + * \return List of IDs of all found sub-shapes. + */ + ListOfLong GetShapesOnPlaneWithLocationIDs (in GEOM_Object theShape, + in long theShapeType, + in GEOM_Object theAx1, + in GEOM_Object thePnt, + in shape_state theState); /*! * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively @@ -1175,6 +1240,32 @@ module GEOM in GEOM_Object theBottomRigthPoint, in shape_state theState); + /*! + * \brief Find subshapes complying with given status + * \param theBox - the box to check state of subshapes against + * \param theShape - the shape to explore + * \param theShapeType - type of subshape of theShape + * \param theState - required state + * \return List of IDs of all found sub-shapes. + */ + ListOfLong GetShapesOnBoxIDs (in GEOM_Object theBox, + in GEOM_Object theShape, + in long theShapeType, + in shape_state theState); + + /*! + * \brief Find subshapes complying with given status + * \param theBox - the box to check state of subshapes against + * \param theShape - the shape to explore + * \param theShapeType - type of subshape of theShape + * \param theState - required state + * \return List of all found sub-shapes. + */ + ListOfGO GetShapesOnBox (in GEOM_Object theBox, + in GEOM_Object theShape, + in long theShapeType, + in shape_state theState); + /*! * Get sub-shape(s) of theShapeWhere, which are * coincident with \a theShapeWhat or could be a part of it. @@ -1184,6 +1275,16 @@ module GEOM */ GEOM_Object GetInPlace (in GEOM_Object theShapeWhere, in GEOM_Object theShapeWhat); + + /*! + * Get sub-shape of theShapeWhere, which are + * coincident with \a theShapeWhat that can either SOLID, FACE, EDGE or VERTEX. + * \param theShapeWhere Shape to find sub-shapes of. + * \param theShapeWhat Shape, specifying what to find. + * \return found sub-shape. + */ + GEOM_Object GetSame (in GEOM_Object theShapeWhere, + in GEOM_Object theShapeWhat); }; /*! @@ -1544,13 +1645,21 @@ module GEOM * Perform partition operation. * \param theShapes Shapes to be intersected. * \param theTools Shapes to intersect theShapes. + * \note Each compound from ListShapes and ListTools will be exploded in order + * to avoid possible intersection between shapes from this compound. + * \param theLimit Type of resulting shapes (corresponding to TopAbs_ShapeEnum). + * + * After implementation new version of PartitionAlgo (October 2006) + * other parameters are ignored by current functionality. They are kept + * in this function only for supporting old versions. + * Ignored parameters: * \param theKeepInside Shapes, outside which the results will be deleted. * Each shape from theKeepInside must belong to theShapes also. * \param theRemoveInside Shapes, inside which the results will be deleted. * Each shape from theRemoveInside must belong to theShapes also. - * \param theLimit Type of resulting shapes (corresponding to TopAbs_ShapeEnum). * \param theRemoveWebs If TRUE, perform Glue 3D algorithm. * \param theMaterials Material indices for each shape. Make sence, only if theRemoveWebs is TRUE. + * * \return New GEOM_Object, containing the result shapes. */ GEOM_Object MakePartition (in ListOfGO theShapes, @@ -1561,6 +1670,27 @@ module GEOM in boolean theRemoveWebs, in ListOfLong theMaterials); + /*! + * Perform partition operation. + * This method may be usefull if it is needed to make a partition for + * a compound containing nonintersected shapes. Performance will be better + * since intersection between shapes from compound is not performed. + * + * Description of all parameters as in previous method MakePartition() + * + * \note Passed compounds (via ListShapes or via ListTools) + * have to consist of nonintersecting shapes. + * + * \return New GEOM_Object, containing the result shapes. + */ + GEOM_Object MakePartitionNonSelfIntersectedShape (in ListOfGO theShapes, + in ListOfGO theTools, + in ListOfGO theKeepInside, + in ListOfGO theRemoveInside, + in short theLimit, + in boolean theRemoveWebs, + in ListOfLong theMaterials); + /*! * Perform partition of the Shape with the Plane * \param theShape Shape to be intersected. diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index 5056a4d0a..7c67d2826 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -244,6 +244,14 @@ module GEOM GEOM_Object RotateCopy (in GEOM_Object theObject, in GEOM_Object theAxis, in double theAngle) ; + GEOM_Object RotateThreePoints (in GEOM_Object theObject, + in GEOM_Object theCentPoint, + in GEOM_Object thePoint1, + in GEOM_Object thePoint2); + GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject, + in GEOM_Object theCentPoint, + in GEOM_Object thePoint1, + in GEOM_Object thePoint2); GEOM_Object MultiRotate1D (in GEOM_Object theObject, in GEOM_Object theAxis, in long theNbTimes) ; diff --git a/resources/GEOMCatalog.xml.in b/resources/GEOMCatalog.xml.in index a47a5f49f..131c35263 100644 --- a/resources/GEOMCatalog.xml.in +++ b/resources/GEOMCatalog.xml.in @@ -2186,6 +2186,80 @@ + + RotateThreePoints + mkr + 2.1.0 + unknown + 0 + + + theObject + GEOM_Object + unknown + + + theCentPoint + GEOM_Object + unknown + + + thePoint1 + GEOM_Object + unknown + + + thePoint2 + GEOM_Object + unknown + + + + + return + GEOM_Object + unknown + + + + + + RotateThreePointsCopy + mkr + 2.1.0 + unknown + 0 + + + theObject + GEOM_Object + unknown + + + theCentPoint + GEOM_Object + unknown + + + thePoint1 + GEOM_Object + unknown + + + thePoint2 + GEOM_Object + unknown + + + + + return + GEOM_Object + unknown + + + + MultiRotate1D mkr diff --git a/resources/ImportExport b/resources/ImportExport index d6837858e..c79adbc1a 100644 --- a/resources/ImportExport +++ b/resources/ImportExport @@ -1,18 +1,18 @@ Import: BREP|IGES|STEP Export: BREP|IGES|IGES_5_3|STEP -BREP.Import: libBREPImport.so -BREP.Export: libBREPExport.so +BREP.Import: libBREPImport +BREP.Export: libBREPExport BREP.Pattern: BREP Files ( *.brep ) -IGES.Import: libIGESImport.so -IGES.Export: libIGESExport.so +IGES.Import: libIGESImport +IGES.Export: libIGESExport IGES.Pattern: IGES Files ( *.iges *.igs ) IGES.ExportPattern: IGES 5.1 Files ( *.iges *.igs ) -IGES_5_3.Export: libIGESExport.so +IGES_5_3.Export: libIGESExport IGES_5_3.Pattern: IGES 5.3 Files ( *.iges *.igs ) -STEP.Import: libSTEPImport.so -STEP.Export: libSTEPExport.so +STEP.Import: libSTEPImport +STEP.Export: libSTEPExport STEP.Pattern: STEP Files ( *.step *.stp ) diff --git a/resources/prism2.png b/resources/prism2.png index fdbe72eac..5d2f366af 100644 Binary files a/resources/prism2.png and b/resources/prism2.png differ diff --git a/resources/rotatepnt.png b/resources/rotatepnt.png new file mode 100755 index 000000000..2d4d2899a Binary files /dev/null and b/resources/rotatepnt.png differ