From: admin Date: Fri, 17 Dec 2004 08:13:19 +0000 (+0000) Subject: Update from OCC X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FOCC-V2_1_0_deb;p=modules%2Fgeom.git Update from OCC --- diff --git a/doc/salome/gui/GEOM/blocks.htm b/doc/salome/gui/GEOM/blocks.htm index ce53dbc61..f3b20495e 100755 --- a/doc/salome/gui/GEOM/blocks.htm +++ b/doc/salome/gui/GEOM/blocks.htm @@ -2,31 +2,11 @@ - - - - - Building of blocks - - - - - - - - - - - - - - - - - - - - + - - - - - - -

Building of blocks

@@ -140,5 +113,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/changing_displaying_parameters.htm b/doc/salome/gui/GEOM/changing_displaying_parameters.htm index db074bc3b..fe76d2a52 100755 --- a/doc/salome/gui/GEOM/changing_displaying_parameters.htm +++ b/doc/salome/gui/GEOM/changing_displaying_parameters.htm @@ -2,31 +2,11 @@ - - - - - Changing displaying parameters - - - - - - - - - - - - - - - - - - - - + - - - - - - -

Changing displaying parameters

@@ -147,8 +120,7 @@ else

 

-

Wireframe/Shading +

Wireframe/Shading

 

@@ -271,5 +243,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/cshdat_robohelp.htm b/doc/salome/gui/GEOM/cshdat_robohelp.htm index 9f2de5bdf..afb68b6ee 100755 --- a/doc/salome/gui/GEOM/cshdat_robohelp.htm +++ b/doc/salome/gui/GEOM/cshdat_robohelp.htm @@ -1,9 +1,9 @@ GEOM reference manual - + - + - - + - - - - - - -

Introduction to GEOM

@@ -124,7 +97,6 @@ else

 

- @@ -163,5 +135,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm index dc3c7060b..d6dca9850 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm @@ -2,159 +2,117 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

Creating basic geometrical objects
  • 1st - Constructor: 3 coordinates.

  • + Constructor:
    Name + 3 coordinates.

  • 2nd - Constructor: 1 reference point + 3 coordinates defining the - position of this point regarding the reference one

  • + Constructor: Name + 1 reference point + 3 coordinates defining + the position of this point regarding the reference one

    -
  • 2nd - Constructor: 1 edge  + +

  • 2nd Constructor: + Name + 1 edge  + 1 Parameter defining the position of the point on the given edge.

  • @@ -336,18 +288,17 @@ else

     

    - -

    +
    - - -
    +

    +

    +

    @@ -391,8 +342,7 @@ else

     

    -

    Arguments: - 2 vertices.

    +

    Arguments: Name + 2 vertices.

     

    @@ -400,7 +350,7 @@ else

     

    -

    +

     

    @@ -441,12 +391,11 @@ else
      -
    • 1st - Constructor: 1 vertex (for the center) + 1 edge (for the direction) - + Radius.

    • +
    • 1st Constructor: + Name + 1 vertex (for the center) + 1 edge (for the direction) + Radius.

    • 2nd - Constructor: 3 points which will form the circle.

    • + Constructor: Name + 3 points which will form the circle.

     

    @@ -459,16 +408,15 @@ else

     

    - - +
    - - + +
    -

    -

    +

    +

     

    @@ -483,7 +431,7 @@ else

     

    -

    +

     

    @@ -510,9 +458,8 @@ else

     

    -

    Arguments: - 1 vertex (for the center) + 1 edge (for the direction) + 1 X Radius + - 1 Y Radius.

    +

    Arguments: Name + 1 vertex (for the + center) + 1 edge (for the direction) + 1 X Radius + 1 Y Radius.

     

    @@ -520,15 +467,15 @@ else

     

    -

    +

    -

     

    +

     

    Example:

     

    -

    +

     

    @@ -556,8 +503,7 @@ else

     

    -

    Arguments: - 3 vertices.

    +

    Arguments: Name + 3 vertices.

     

    @@ -565,7 +511,7 @@ else

     

    -

    +

     

    @@ -573,13 +519,13 @@ else

     

    -

    +

     

     

    -

    Curve

    +

    Curve

     

    @@ -610,8 +556,8 @@ else

     

    -

    Arguments: - at least 2.

    +

    Arguments: Name + at least 2 points + which will serve as nodes on the curve.

     

    @@ -619,19 +565,19 @@ else

     

    -

    +

     

    -

    Example:

    +

    Example:

     

    -

    Polyline +

    Polyline                                          Bezier                                      B-Spline

    -

              

    +

              

     

    @@ -664,20 +610,20 @@ else

     

    Dialog Box:

    -

     

    +

     

    -

       

    +

          

     

    @@ -716,16 +662,16 @@ else

     

    @@ -734,19 +680,18 @@ else

     

    - - +
    - - - + + +
    -

    -

    -

    +

    +

    +

     

    @@ -757,11 +702,11 @@ else

     

    -

    Example:

    +

    Example:

     

    -

    +

     

    @@ -783,52 +728,53 @@ else

     

     

    -

    Dialog Box:

    +

    Dialog Box:

     

    - - ---+
    +++- - - - + + + +
    -

    -

    -

    +

    +

    +

     

    -

     

    +

     

     

    -

     

    +

     

    -

     

    +

     

    -

    Local coordinate system

    -

     

    +

     

    Description:  The user @@ -862,19 +808,19 @@ else

     

    -

    Arguments:

    +

    Arguments: +

     

    @@ -883,36 +829,35 @@ else

     

    -

    Dialog Box:

    +

    Dialog Box:

     

    - - ---- - - - - +
    -

    -

    -

     

    ++++ + + + +
    +

    +

    +

     

    -

     

    +

     

    -

     

    +

      

    -

     

    +

     

    -

    Example:

    +

    Example:

    -

     

    +

     

    -

    +

    - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_booleangui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_booleangui_functions.htm index 35a35ff0c..ca0289e54 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_booleangui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_booleangui_functions.htm @@ -2,41 +2,11 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Using boolean operations

    @@ -212,7 +176,7 @@ else

     

    Arguments: - 2 shapes.

    + Name + 2 shapes.

     

    @@ -220,7 +184,7 @@ else

     

    -

    +

     

    @@ -240,7 +204,7 @@ else

     

    Description: - The common part of 2 shapes is cut and transformed into an independent + The common part of two shapes is cut and transformed into an independent geometrical object.

     

    @@ -251,7 +215,7 @@ else

     

    Arguments: - 2 shapes.

    + Name + 2 shapes.

     

    @@ -259,7 +223,7 @@ else

     

    -

    +

     

    @@ -280,7 +244,7 @@ else

     

    Description: - Cuts 1 shape with another one.

    + Cuts a shape with another one.

     

    @@ -290,7 +254,7 @@ else

     

    Arguments: - 2 shapes.

    + Name + 2 shapes.

     

    @@ -298,7 +262,7 @@ else

     

    -

    +

     

    @@ -329,7 +293,7 @@ else

     

    Arguments: - 2 shapes.

    + Name + 2 shapes.

     

    @@ -337,7 +301,7 @@ else

     

    -

    +

     

    @@ -351,7 +315,7 @@ else

     

    -

      

    +

      

    - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm index bf2ce3777..f541158b5 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm @@ -2,41 +2,11 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Building @@ -219,7 +183,7 @@ else

     

    -

    +

     

    @@ -257,7 +221,7 @@ else

     

    Arguments: - 2 vertices.

    + Name + 2 vertices.

     

    @@ -265,7 +229,7 @@ else

     

    -

    +

     

    @@ -300,7 +264,7 @@ else

     

    Arguments: - List of shapes (VERTEX, EDGE or WIRE).

    + Name + List of connected wires or edges..

     

    @@ -308,7 +272,7 @@ else

     

    -

    +

     

    @@ -343,7 +307,7 @@ else

     

    Arguments: - 1 wire.

    + Name + 1 wire.

     

    @@ -351,7 +315,7 @@ else

     

    -

    +

     

    @@ -386,7 +350,7 @@ else

     

    Arguments: - List of faces having connected edges.

    + Name + List of faces having connected edges.

     

    @@ -394,7 +358,7 @@ else

     

    -

    +

     

    @@ -428,7 +392,7 @@ else

     

    Arguments: - A closed shell or a list of shells.

    + Name + A closed shell or a list of shells.

     

    @@ -436,7 +400,7 @@ else

     

    -

    +

     

    @@ -464,7 +428,7 @@ else

     

    Arguments: - List of shapes.

    + Name + List of shapes.

     

    @@ -472,7 +436,7 @@ else

     

    -

    +

     

    @@ -480,7 +444,7 @@ else

     

    -

    +

     

    @@ -495,5 +459,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm index af0c4cf8b..54d59fb05 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm @@ -2,41 +2,11 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Displaying\hiding objects

    Visualization is available in both, OCC and VTK viewers. These viewers work independently, i.e. visibility of objects and their - graphic attributes may differ in OCC and VTK viewer. It - is reasonable to use the OCC viewer for GEOM module.

    + graphic attributes may differ in OCC and VTK viewer. It is reasonable to use the OCC viewer for + GEOM module.

     

    @@ -190,7 +154,7 @@ else

     

    -

    TUI +

    TUI Command: sg.EraseAll()

     

    @@ -209,7 +173,7 @@ else

     

    -

    TUI +

    TUI Command:

     

    @@ -259,5 +223,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm index 260fc51a7..c944e7b4a 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm @@ -2,79 +2,40 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Generating complex objects

    @@ -184,8 +139,8 @@ else

     

    Arguments: - 1 shape (vertex, edge, wire, face or shell) serving as base object + 1 - vector (for direction) + 1 value (dimension).

    + Name + 1 shape (vertex, edge, wire, face or shell) serving as base object + + 1 vector (for direction) + 1 value (dimension).

     

    @@ -193,7 +148,7 @@ else

     

    -

    +

     

    @@ -229,9 +184,9 @@ else

     

    -

    Arguments: - 1 shape (vertex, edge, wire, face or shell) serving as base object + 1 - vector (for direction) + 1 value (angle).

    +

    Arguments: Name + 1 shape (vertex, edge, + wire, face or shell) serving as base object + 1 vector (for direction) + + 1 value (angle).

     

    @@ -239,7 +194,7 @@ else

     

    -

    +

     

    @@ -247,7 +202,7 @@ else

     

    -

     

    +

     

     

    @@ -274,9 +229,9 @@ else

     

    -

    Arguments: - 1 List of edges + 5 Parameters (Min. degree, Max. degree, Number of iterations, - 2D tolerance, 3D tolerance).

    +

    Arguments: Name + 1 List of edges + + 5 Parameters (Min. degree, Max. degree, Number of iterations, 2D tolerance, + 3D tolerance).

     

    @@ -284,7 +239,7 @@ else

     

    -

    +

     

    @@ -294,13 +249,13 @@ else

     

    -

     

    +

     

    -

     

    +

     

    Pipe

    -

    @@ -322,9 +277,9 @@ else

     

    -

    Arguments: - 1 shape (vertex, edge, wire, face or shell) serving as base object + 1 - shape (edge, face or shell) for definition of the path.

    +

    Arguments: Name + 1 shape (vertex, edge, + wire, face or shell) serving as base object + 1 shape (edge, face or shell) + for definition of the path.

     

    @@ -332,7 +287,7 @@ else

     

    -

    +

     

    @@ -340,7 +295,7 @@ else

     

    -

     

    +

     

     

    @@ -351,5 +306,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm index c70dca7fa..2558b47a7 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm @@ -2,42 +2,11 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Importing\exporting geometrical objects

    @@ -190,5 +152,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm index c85165ba1..56f72dc27 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm @@ -2,87 +2,46 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Using measurement tools

    @@ -160,8 +113,7 @@ else
  • Center of mass

  • -
  • Axis - of inertia

  • +
  • Inertia

  • Bounding box

  • @@ -220,7 +172,7 @@ else

     

    -

    +

     

    @@ -259,7 +211,7 @@ else

     

    -

    +

     

    @@ -267,7 +219,7 @@ else

    - Center of gravity

    + Center of mass

     

    @@ -296,7 +248,7 @@ else

     

    -

    +

     

    @@ -304,8 +256,8 @@ else

    Axis of - inertia

    + size=4> Inertia
    +

     

    @@ -315,15 +267,16 @@ else

     

    Result: Display - the inertia axis values in the form of Python Tuple (I11, I12, I13,

    + the matrix and moments of inretia in the form of Python Tuple (I11, I12, + I13,

    -

     I21, +

     I21, I22, I23,

    -

     I31, +

     I31, I32, I33,

    -

     Ix, +

     Ix, Iy, Iz).

     

    @@ -342,9 +295,9 @@ else

    Dialog Box:

    -

     

    +

     

    -

    +

     

    @@ -368,7 +321,7 @@ else

     

    -

    TUI command: geompy.BoundingBox(Shape)TUI command: geompy.BoundingBox(Shape), where Shape is a shape for which a bounding box is computed.

    @@ -383,7 +336,7 @@ else

     

    -

    +

     

    @@ -405,11 +358,11 @@ else

     

    -

    TUI command: geompy.MinDistance(Shape1, +

    TUI command: geompy.MinDistance(Shape1, Shape2), where Shape1 and Shape2 are shapes between which the minimal distance computed.

    -

     

    +

     

    Arguments: 2 shapes.

    @@ -420,7 +373,7 @@ else

     

    -

    +

     

    @@ -443,7 +396,7 @@ else

     

    -

    TUI command: geompy.Tolerance(Shape)TUI command: geompy.Tolerance(Shape), where Shape is a shape for which minimal and maximal tolerances are returned.

    @@ -458,7 +411,7 @@ else

     

    -

    +

     

    @@ -495,11 +448,11 @@ else

     

    -

    +

    -

     

    +

     

    -

     

    +

     

     

    -

    +

    -

     

    +

     

    - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm index 2e8626959..dc01866bc 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm @@ -2,106 +2,73 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

    Basic operations

    @@ -244,8 +205,20 @@ else

     

    -

    Arguments: - Up to 4 shapes + reconstruction limit.

    +

    Arguments: Up to 4 shapes + reconstruction + limit.

    + +
      + +
    • 1st Constructor: + Name + 2 shapes (first shape will be intersected by the second shape) + + reconstruction limit.

    • + +
    • 2nd Constructor: + Name + 1 shape which will be intersected + 1 cutting face.

    • +
    + +

     

     

    @@ -253,7 +226,11 @@ else

     

    -

    +

    + +

     

    + +

     

    @@ -261,7 +238,7 @@ else

     

    -

     

    +

     

     

    @@ -291,7 +268,7 @@ else

     

    GUI Arguments: - 1 shape  + + Name + 1 shape  + 3 values (Weight, Water Density & Meshing Deflection).

     

    @@ -300,7 +277,7 @@ else

     

    -

    +

     

    @@ -308,7 +285,7 @@ else

     

    -

       

    +

       

     

    @@ -341,14 +318,14 @@ else
      -
    • 1st - Constructor: 1 shape + 1 value (fillet radius).

    • +
    • 1st Constructor: + Name + 1 shape + 1 value (fillet radius).

    • -
    • 2nd - Constructor: 1 SHAPE + 1 Selection of edges + 1 values (Fillet radius).

    • +
    • 2nd Constructor: + Name + 1 shape + 1 Selection of edges + 1 value (Fillet radius).

    • -
    • 3rd - Constructor: 1 SHAPE + 1 Selection of faces + 1 values (Fillet radius).

    • +
    • 3rd Constructor: + Name + 1 shape + 1 Selection of faces + 1 value (Fillet radius).

     

    @@ -357,7 +334,7 @@ else

     

    -

       

    +

       

     

    @@ -365,7 +342,7 @@ else

     

    -

     

    +

     

     

    @@ -412,14 +389,14 @@ else
      -
    • 1st - Constructor : 1 SHAPE + 2 values (Chamfer dimensions).

    • +
    • 1st Constructor : + Name + 1 SHAPE + 1 value (Chamfer dimension).

    • -
    • 2nd - Constructor : 1 SHAPE + 1 Selection of EDGE + 2 values (Chamfer dimensions).

    • +
    • 2nd Constructor : + Name + 1 SHAPE + 2 faces + 2 values (Chamfer dimensions).

    • -
    • 3rd - Constructor : 1 SHAPE + 1 Selection of FACE + 2 values (Chamfer dimensions).

    • +
    • 3rd Constructor : + Name + 1 SHAPE + 1 Selection of faces + 2 values (Chamfer dimensions).

     

    @@ -428,7 +405,7 @@ else

     

    -

       

    +

       

     

    @@ -436,7 +413,7 @@ else

     

    -

     

    +

     

     

    @@ -448,7 +425,7 @@ else

     

    -

    Block +

    Block multi-transformation

     

    @@ -493,21 +470,21 @@ else
      -
    • 1D - transformation: 1 hexahedral solid - + 1 or 2 faces + 1 integer (number of blocks)

    • +
    • 1D + transformation: Name + 1 hexahedral + solid + 1 or 2 faces + 1 integer (number of blocks)

    • -
    • 2D - transformation: 1 hexahedral solid - +

    • +
    • 2D + transformation: Name + 1 hexahedral + solid +

    • -
        +
          -
        • 2 +

        • 2 faces and 1 integer, or

        • -
        • 3 or 4 faces and 2 integers

        • +
        • 3 or 4 faces and 2 integers

      @@ -515,31 +492,30 @@ else

      Dialog Box:

      - - --+
      ++- - - + + +
      -

      -

      +

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

          

      +

          

       

       

      -

      Explode +

      Explode on blocks

       

      @@ -577,15 +553,15 @@ else

       

      -

      +

      -

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

      +

      - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm index 95806a8e8..350d4b5f3 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm @@ -2,41 +2,11 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Constructing primitives

      @@ -180,11 +145,11 @@ else
        -
      • 1st Constructor - : 2 vertices (opposite corners of the box).

      • +
      • 1st Constructor : Name + + 2 vertices (opposite corners of the box).

      • -
      • 2nd Constructor - : 3 values (dimensions at origin).

      • +
      • 2nd Constructor : Name + + 3 values (dimensions at origin).

       

      @@ -193,7 +158,7 @@ else

       

      -

       

      +

       

       

      @@ -232,11 +197,11 @@ else
        -
      • 1st Constructor: - 1 vertex + 1 edge + 2 values (Dimensions).

      • +
      • 1st Constructor: Name + + 1 vertex + 1 vector + 2 values (Dimensions: radius and height).

      • -
      • 2nd Constructor: - 2 values (Dimensions at origin).

      • +
      • 2nd Constructor: Name + + 2 values (Dimensions at origin: radius and height).

       

      @@ -245,7 +210,7 @@ else

       

      -

       

      +

       

       

      @@ -253,7 +218,7 @@ else

       

      -

      +

       

      @@ -283,12 +248,12 @@ else
        -
      • 1st Constructor - : 1 vertex + 1 value (Radius).

      • +
      • 1st Constructor : Name + + 1 vertex + 1 value (Radius).

      • -
      • 2nd Constructor - : 1  value - (Radius from the origin).

      • +
      • 2nd Constructor : Name + + 1  value + (Radius from the origin).

       

      @@ -297,7 +262,7 @@ else

       

      -

       

      +

       

       

      @@ -305,9 +270,9 @@ else

       

      -

      +

      -

       

      +

       

       

      @@ -337,11 +302,11 @@ else
        -
      • 1st Constructor: - 1 vertex + 1 edge (for direction) + 2 values (1 & 2 Radius).

      • +
      • 1st Constructor: Name + + 1 vertex + 1 vector (for direction) + 2 values (1 & 2 Radius).

      • -
      • 2nd Constructor: - 2 values (1 & 2 Radius from the origin).

      • +
      • 2nd Constructor: Name + + 2 values (1 & 2 Radius from the origin).

       

      @@ -350,7 +315,7 @@ else

       

      -

       

      +

       

       

      @@ -358,7 +323,7 @@ else

       

      -

      +

       

      @@ -389,12 +354,13 @@ else
        -
      • 1st Constructor: - 1 vertex + 1 edge (for direction) + 3 values (Radius of the base part, - radius of the upper part, height).

      • +
      • 1st Constructor: Name + + 1 vertex + 1 vector (for direction) + 3 values (Radius of the + base part, radius of the upper part, height).

      • -
      • 2nd Constructor: - 3 values (Radius of the base part, radius of the upper part, height).

      • +
      • 2nd Constructor: Name + + 3 values (Radius of the base part, radius of the upper part, + height).

       

      @@ -403,7 +369,7 @@ else

       

      -

       

      +

       

       

      @@ -411,7 +377,7 @@ else

       

      -

      +

      - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm index c4e183e2d..806be90bc 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm @@ -2,137 +2,99 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Repairing geometrical objects

      @@ -242,16 +198,24 @@ else

       

      +

      The operations Suppress + faces, Close contour, Suppress internal wires, Suppress holes and + Add point on edge are + available only if you are using OCC + viewer.

      + +

       

      +

      To apply repairing operations:

       

      -

      In the main menu select Repair +

      In the main menu select Repair submenu.

       

      -

      Shape +

      Shape processing

       

      @@ -278,18 +242,17 @@ else

      Arguments: 1 or more shapes.

      - - +
      -+- - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + -"; - gaTypes[nBtn] = sType; + if(nStyle==BTN_TEXT) + sButton+=" "; + gaButtons[nBtn]=""; + gaTypes[nBtn]=sType; } } function isSyncEnabled() { - if (!gbCheckSync) + if(!gbCheckSync) { var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null); if(SendMessage(oMsg)) @@ -250,30 +250,30 @@ function isSyncEnabled() function isInPopup() { - return (window.name.indexOf("BSSCPopup") != -1); + return (window.name.indexOf("BSSCPopup")!=-1); } function getIntopicBar(sAlign) { - var sHTML = ""; - if (gaButtons.length > 0) + var sHTML=""; + if(gaButtons.length>0) { - sHTML += "
      "; + sHTML+="
      "; - sHTML += "
      +

      1

      +

      SplitAngle – this operator is intended for splitting faces based on conical surfaces, surfaces of revolution and cylindrical surfaces by angle

      @@ -298,40 +261,40 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      SplitAngle.MaxTolerance – maximal possible tolerance on result shape

      +

      2

      +

      SplitClosedFaces – this operator is intended for dividing all closed faces in the shape according to the number of points.

      SplitClosedFaces.NbSplitPoints – number of points for cutting each closed faces.

      +

      3

      +

      FixFaceSize – this operator is intended for removing small faces (case of the spot face and strip face)

      FixFaceSize.Tolerance – work tolerance defining which faces will be removed.

      +

      4

      +

      DropSmallEdges – this operator is intended for removing small edges or merging with neigbour.  

      DropSmallEdges.Tolerance3d – work tolerance for detection and removing small edges.

      +

      5

      +

      BsplineRestriction –this operator is intended for re-approximation BSplines curves and surfaces or conversion of the curves and surfaces to BSplines with specified parameters. @@ -357,10 +320,10 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      BSplineRestriction.RequiredNbSegments - required maximum number of segments of resultant BSplines.

      +

      6

      +

      SplitContinuity – this operator is intended for splitting shapes to achieve continuities of curves and surfaces less than specified ones.

      @@ -371,10 +334,10 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      SplitContinuity.CurveContinuity - required continuity for curves.

      +

      7

      +

      ToBezier - this operator is intended for conversion of the curves and surfaces of the all types into Bezier curves and surfaces.

      @@ -387,10 +350,10 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      ToBezier.MaxTolerance – max possible tolerance on the resultant shape.

      +

      8

      +

      FixShape – this operator is intended for correction of the invalid shapes

      FixShape.Tolerance3d – work tolerance for detection @@ -398,10 +361,10 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      FixShape.MaxTolerance3d - maximal possible tolerance of the shape after correction.

      +

      9

      +

      SameParameter – this operator is intended for fixing edges having not same parameter 2D and 3D curves.

      @@ -420,7 +383,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

       

      +

       

       

      @@ -433,22 +396,22 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

         

      +

         

      -

       

      +

       

      The same shape after applying Shape Processing.

      -

       

      +

       

      -

      +

      -

       

      +

       

      -

       

      +

       

      -

      Suppress faces

      +

      Suppress faces

       

      @@ -470,7 +433,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      Arguments: - 1 shape + 1 selection of a face (Local Context).

      + Name + Faces which should be removed (you can select them in the 3D viewer).

       

      @@ -478,19 +441,19 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      +

      -

       

      +

       

      Example:

       

      -

       

      +

       

       

      -

      Close contour

      +

      Close contour

       

      @@ -525,8 +488,8 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Arguments: Contour (Wire, +

      Arguments: Name + + 1 shape + contour (Wire, or a set of Edges) + mode of closure (by vertex or by edge)

       

      @@ -535,16 +498,16 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      +

      -

       

      +

       

      -

      Example:

      +

      Example:

       

      Suppress + name=SuppressInternalWires> Suppress internal wires

       

      @@ -569,15 +532,19 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Arguments:

      +

      Arguments:

        +
      • Name of the resulting + object

      • +
      • User specified face

      • User specified internal - wires (lying on this face except for its boundary), or, in case the "Remove - all internal wires" box is checked, all internal wires

      • + wires (lying on this face except for its boundary), or, in case the Remove all internal wires box is checked, + all internal wires

       

      @@ -586,23 +553,23 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      +

       

      -

      Example:

      +

      Example:

       

      -

         

      +

         

       

       

      -

      Suppress + style="font-size: 14pt;"> Suppress holes

       

      @@ -633,19 +600,18 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Arguments:

      +

      Arguments: Name + 1 shape + Wires which + should be removed.

      -
        - -
      • 1st - Constructor : 1 shape + 1 selection of 1 face (Local Context) + 1 - selection of a wire in the selected face + 1 selection of the back face - (if the hole is traversing).

      • - -
      • 2nd - Constructor : 1 shape (face or shell) + 1 selection of a wire in a - face.

      • -
      +

      Remove all + holes checkbox allows to fill all holes of a definite shape.

      + +

      Detect button + allows to display the number of free boundaries in your shape:

      + +

       

      + +

       

      @@ -653,15 +619,15 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

       

      +

       

      -

        

      +

        

      Example:

      -

       

      +

       

      -

         

      +

         

       

      @@ -671,7 +637,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

      Sewing

      + style="font-size: 14pt;"> Sewing

       

      @@ -691,8 +657,18 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Arguments: - 1 or more shapes + 1 value (sew precision).

      +

      Arguments: Name + 1 or more shapes + + 1 value (sew precision).

      + +

      Detect + button allows to display the number of free boundaries in your + shape:

      + +

       

      + +

      + +

       

       

      @@ -700,7 +676,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      +

       

      @@ -708,7 +684,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

       

      +

       

       

      @@ -716,7 +692,7 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Add point on edge

       

      @@ -743,85 +719,87 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      Arguments: - Edge, user-defined point

      + Name + 1 Edge + 1 value setting the position of the point according one + of the selected modes

       

      -

      Dialog +

      Dialog Box:

      -

       

      +

       

      -

      +

      -

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

           

      +

           

      -

       

      +

       

      -

       

      +

       

      -

       

      +

       

      -

      Glue faces

      -

       

      +

       

      -

      Description: +

      Description: Glues faces that are coincident with respect to the given tolerance

      -

      value.

      +

      value.

      -

       

      +

       

      -

      Result: +

      Result: GEOM_Object.

      -

       

      +

       

      -

      TUI Command +

      TUI Command : geompy.MakeGlueFaces(theShape, theTolerance), where theShape is a compound of shapesto be glued, theTolerance is a maximum distance between two faces, which can be considered as coincident.

      -

       

      +

       

      -

      Arguments: - 1 Compound + Tolerance Value

      +

      Arguments: Name + + 1 Compound + Tolerance + value

      -

       

      +

       

      -

      Dialog Box:

      +

      Dialog Box:

      -

       

      +

       

      -

      +

      -

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

        

      +

        

      -

       

      +

       

      -

       

      +

       

      -

       

      +

       

      -

      Check free boundaries

      -

       

      +

       

      Description: Detects wires and edges that correspond to the shape's boundary, and highlights @@ -846,24 +824,24 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

       

      -

      Dialog +

      Dialog Box:

      -

       

      +

       

      -

      +

      -

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

        

      +

        

      -

       

      +

       

      -

       

      +

       

      - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm index 345a72190..023acb554 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm @@ -2,108 +2,74 @@ - - - - - Titre - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Using transformation operations

      @@ -233,8 +193,25 @@ else

       

      -

      Arguments: - 1 shape + 3 values (coordinates).

      +

      Arguments:

      + +
        + +
      • 1st Constructor: Name + 1 shape + 3 values (coordinates).

      • + +
      • 2st Constructor: Name + 1 shape + 2 vertices.

      • + +
      • 3st Constructor: Name + 1 shape + 1 vector.

      • +
      + +

       

      + +

      Create a copy + checkbox allows to keep the initial object, otherwise it will be + removed.

       

      @@ -242,7 +219,7 @@ else

       

      -

      +

         

       

      @@ -250,9 +227,9 @@ else

       

      -

       

      +

       

      -

       

      +

       

       

      -

      Arguments: - 1 shape + 1 edge  + - 1 angle.

      +

      Arguments: 1 shape + 1 vector for direction + of rotation + 1 angle.

      + +

      Reverse checkbox + allows to specify the direction of rotation.

      + +

      Create a copy + checkbox allows to keep the initial object, otherwise it will be + removed.

       

      @@ -287,7 +270,7 @@ else

       

      -

      +

       

      @@ -295,16 +278,16 @@ else

       

      -

       

      +

       

      -

       

      +

       

      -

       

      +

       

      -

      Modify the Location

      +

      Modify the Location

      -

       

      +

       

      Description: Modification of location of an object.

      @@ -322,8 +305,12 @@ else

       

      -

      Arguments: - 1 GEOM_Object + [Starting Coordinate System] + End Coordinate System.

      +

      Arguments: Name + 1 GEOM_Object + [Starting + Coordinate System] + End Coordinate System.

      + +

      Create a copy + checkbox allows to keep the initial object, otherwise it will be + removed.

       

      @@ -331,21 +318,21 @@ else

       

      -

        

      +

        

      -

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

      +

      -

       

      +

       

      -

       

      +

       

      -

       

      +

       

      Mirror @@ -369,8 +356,23 @@ else

       

      -

      Arguments: - 1 shape + 1 face.

      +

      Arguments:

      + +
        + +
      • 1st Constructor: Name + 1 shape + 1 vertex.

      • + +
      • 2st Constructor: Name + 1 shape + 1 vector.

      • + +
      • 3st Constructor: Name + 1 shape + 1 plane.

      • +
      + +

      Create a copy + checkbox allows to keep the initial object, otherwise it + will be removed.

       

      @@ -378,7 +380,7 @@ else

       

      -

      +

       

      @@ -386,7 +388,7 @@ else

       

      -

       

      +

       

       

      @@ -414,7 +416,7 @@ else

       

      Arguments: - 1 shape + 1 vertex + 1 Scale Factor.

      + Name + 1 shape(s) + 1 vertex + 1 Scale Factor.

       

      @@ -422,7 +424,7 @@ else

       

      -

      +

       

      @@ -430,14 +432,14 @@ else

       

      -

       

      +

       

       

      -

      Offset surface

      -

       

      +

       

      Description: Each point is translated along a local normal by a given distance (signed @@ -458,10 +460,13 @@ else

       

      -

      Arguments:

      +

      Arguments:

        +
      • Name of the resulting + object

      • +
      • GEOM_Object (face, shell, solid, compound)

      • @@ -474,13 +479,13 @@ else

         

        -

        +

         

        -

        Example:

        +

        Example:

        -

        +

         

        @@ -528,11 +533,12 @@ else
      • 1st Constructor (in one direction): - 1 shape + 1 edge (for direction) + 1 step value + 1 value (repetition).

      • + Name + 1 shape + 1 vector (for direction) + 1 step value + 1 value (repetition).

      • 2nd Constructor (in two directions): - 1 shape + 2 edges + 2 step values + 2 values (repetitions).

      • + Name + 1 shape + 2 vectors defining the direction + 2 step values + 2 + values (repetitions).

       

      @@ -541,7 +547,7 @@ else

       

      -

       

      +

       

       

      @@ -553,7 +559,7 @@ else

       

      -

       

      +

       

       

      @@ -561,7 +567,7 @@ else

       

      -

       

      +

       

       

      @@ -607,12 +613,13 @@ else
    • 1st Constructor (in one direction): - 1 shape + 1 edge + 1 value (repetition).

    • + Name + 1 shape + 1 vector for direction + 1 value (repetition).

      -
    • 2nd - Constructor (in two directions): - 1 shape + 1 edge + 1 angle + 1 value (repetition) + 1 step value + 1 value - (repetition).

    • +
    • 2nd Constructor (in two directions): Name + 1 + shape + 1 vector for direction + 1 angle + 1 value (repetition) + 1 step + value + 1 value (repetition); Reverse + checkbox allows to set the direction of rotation.

    •  

      @@ -621,7 +628,7 @@ else

       

      -

       

      +

       

       

      @@ -634,7 +641,7 @@ else

       

      -

       

      +

       

       

      @@ -642,7 +649,7 @@ else

       

      -

       

      +

       

       

      @@ -655,5 +662,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/geom.htm b/doc/salome/gui/GEOM/geom.htm new file mode 100755 index 000000000..46797c73d --- /dev/null +++ b/doc/salome/gui/GEOM/geom.htm @@ -0,0 +1,139 @@ + + + + GEOM reference manual + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/geom.log b/doc/salome/gui/GEOM/geom.log new file mode 100755 index 000000000..f9810dcef --- /dev/null +++ b/doc/salome/gui/GEOM/geom.log @@ -0,0 +1,476 @@ +|SourceProjectName:GEOM.hpr +|DestinationProjectName:geom.htm +whhost.js +whmsg.js +whmozemu.js +whproxy.js +whstub.js +whutils.js +whver.js +whform.js +whphost.js +whstart.js +whtopic.js +whframes.js +whlang.js +whskin_info.htm +whskin_blank.htm +whskin_pickup.htm +whskin_homepage.htm +whskin_tw.htm +whnjs.htm +whthost.js +whtdhtml.htm +whihost.js +whibody.htm +whiform.htm +whfhost.js +whfbody.htm +whfform.htm +whghost.js +whgbody.htm +whgdhtml.htm +whgdef.htm +whproj.js +whproj.xml +whproj.htm +whxdata\whtoc.xml +whxdata\whidx.xml +whxdata\whfts.xml +whxdata\whglo.xml +whdata\whtoc.js +whdata\whtoc.htm +whdata\whtdata.js +whdata\whidx.js +whdata\whidx.htm +whdata\whidata.js +whdata\whfts.js +whdata\whfts.htm +whdata\whglo.js +whdata\whglo.htm +whdata\whgdata.js +whdata\whftdata.js +whdata\whfwdata.js +whres.xml +webhelp.jar +webhelp.cab +whgdata\whnvp30.htm +whgdata\whnvp31.htm +whgdata\whnvp32.htm +whgdata\whnvp33.htm +whgdata\whnvt30.htm +whgdata\whnvt31.htm +whgdata\whnvt32.htm +whgdata\whnvt33.htm +whgdata\whnvf30.htm +whgdata\whnvf31.htm +whgdata\whnvf32.htm +whgdata\whnvf33.htm +whgdata\whnvl31.htm +whgdata\whnvl32.htm +whgdata\whnvl33.htm +whgdata\whexpbar.gif +cshdat_webhelp.htm +whcsh_home.htm +whcshdata.htm +cshdat_robohelp.htm +wht_tab0.gif +wht_tab1.gif +wht_tab2.gif +wht_tab3.gif +wht_tab4.gif +wht_tab5.gif +wht_tab6.gif +wht_tab7.gif +wht_tab8.gif +wht_glo_h.gif +wht_glo_n.gif +wht_fts_h.gif +wht_fts_n.gif +wht_idx_h.gif +wht_idx_n.gif +wht_toc_h.gif +wht_toc_n.gif +wht_ws.gif +wht_ws_g.gif +wht_logo1.gif +wht_logo2.gif +wht_abgw.jpg +wht_abgi.jpg +wht_abge.jpg +wht_abtw.jpg +wht_abte.jpg +wht_abti.jpg +wht_spac.gif +wht_next.gif +wht_next_g.gif +wht_prev.gif +wht_prev_g.gif +wht_sync.gif +wht_hide.gif +wht_go.gif +whstart.ico +whestart.ico +whrstart.ico +whidhtml.htm +whfdhtml.htm +whskin_banner.htm +whtbar.js +whskin_pdhtml.htm +whskin_papplet.htm +whskin_plist.htm +whskin_tbars.htm +whskin_mbars.htm +wht_toc4.gif +wht_toc1.gif +wht_toc2.gif +wht_toc3.gif +whskin_frmset010.htm +whst_topics.xml +whskin_frmset01.htm +geom_hha.hhk +geom.hhc +geom.hhk +blocks.htm +changing_displaying_parameters.htm +files\introduction_to_geom.htm +files\salome2_sp3_basicgui_functions.htm +files\salome2_sp3_booleangui_functions.htm +files\salome2_sp3_buildgui_functions.htm +files\salome2_sp3_displaygui_functions.htm +files\salome2_sp3_generationgui_functions.htm +files\salome2_sp3_geomtoolsgui_functions.htm +files\salome2_sp3_measuregui_functions.htm +files\salome2_sp3_operationgui_functions.htm +files\salome2_sp3_primitivegui_functions.htm +files\salome2_sp3_repairgui_functions.htm +files\salome2_sp3_transformationgui_functions.htm +newentity_blocks.htm +sketcher.htm +working_with_groups.htm +ehelp.xml +geom.glo +default.css +image290.jpg +image219.jpg +image208.jpg +image61.gif +image191.jpg +image180.jpg +image109.jpg +image97.jpg +image53.jpg +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image131.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image31.gif +image291.jpg +image280.jpg +image209.jpg +image192.jpg +image181.jpg +image51.gif +image170.jpg +image98.jpg +image76.jpg +image54.jpg +image10.jpg +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif +files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image32.gif +image292.jpg +image281.jpg +image270.jpg +image193.jpg +image52.gif +image171.jpg +image160.jpg +image41.gif +image11.jpg +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif +files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif +files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image87.gif +image3.jpg +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image33.gif +image293.jpg +image64.gif +image282.jpg +image271.jpg +image260.jpg +image194.jpg +image53.gif +image172.jpg +image42.gif +image150.jpg +image78.jpg +image20.gif +image67.jpg +image12.jpg +files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image88.gif +files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image1.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif +image294.jpg +image283.jpg +image261.jpg +image272.jpg +image250.jpg +image151.jpg +image32.gif +image140.jpg +image79.jpg +image21.gif +image2.gif +image5.jpg +files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image89.gif +files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image2.gif +image295.jpg +image284.jpg +image262.jpg +image273.jpg +image251.jpg +image240.jpg +image196.jpg +image185.jpg +image44.gif +image163.jpg +image141.jpg +image130.jpg +image22.gif +files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif +image11.gif +files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif +files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image3.gif +image296.jpg +image285.jpg +image274.jpg +image263.jpg +image252.jpg +image241.jpg +image230.jpg +image197.jpg +image56.gif +image164.jpg +image142.jpg +image23.gif +image12.gif +image7.jpg +image4.gif +files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif +files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image52.gif +files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif +image297.jpg +image286.jpg +image275.jpg +image264.jpg +image253.jpg +image242.jpg +image231.jpg +image220.jpg +image57.gif +image154.jpg +image35.gif +image24.gif +image121.jpg +image110.jpg +image27.jpg +image13.gif +image8.jpg +image5.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif +files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image58.gif +files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image53.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image27.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image14.gif +image298.jpg +image287.jpg +image276.jpg +image265.jpg +image254.jpg +image243.jpg +image221.jpg +image210.jpg +image199.jpg +image188.jpg +image133.jpg +image25.gif +image122.jpg +image14.gif +image9.jpg +image6.gif +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image128.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif +files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif +files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image54.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image15.gif +i_blue.jpg +image299.jpg +image288.jpg +image277.jpg +image266.jpg +image255.jpg +image244.jpg +image233.jpg +image222.jpg +image211.jpg +image59.gif +image189.jpg +image167.jpg +image156.jpg +image37.gif +image145.jpg +image134.jpg +image112.jpg +image15.gif +image18.jpg +image7.gif +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image129.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif +files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image29.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image16.gif +image300.jpg +image289.jpg +image278.jpg +image267.jpg +image256.jpg +image245.jpg +image234.jpg +image223.jpg +image212.jpg +image201.jpg +image49.gif +image168.jpg +image135.jpg +image124.jpg +image113.jpg +image16.gif +image8.gif +files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif +files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif +image279.jpg +image268.jpg +image257.jpg +image246.jpg +image235.jpg +image224.jpg +image213.jpg +image202.jpg +image158.jpg +image147.jpg +image136.jpg +image80.jpg +image17.gif +image9.gif +files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image101.gif +files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image90.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image18.gif +image269.jpg +image258.jpg +image247.jpg +image236.jpg +image225.jpg +image214.jpg +image203.jpg +image29.gif +image137.jpg +image81.jpg +files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image102.gif +files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif +salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image19.gif +image259.jpg +image248.jpg +image237.jpg +image226.jpg +image215.jpg +image204.jpg +image149.jpg +image138.jpg +image127.jpg +image82.jpg +image19.gif +files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image103.gif +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif +image249.jpg +image238.jpg +image227.jpg +image216.jpg +image205.jpg +image139.jpg +image128.jpg +image94.jpg +image83.jpg +files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif +image239.jpg +image228.jpg +image217.jpg +image206.jpg +image129.jpg +image95.jpg +image84.jpg +image229.jpg +image218.jpg +image207.jpg +image96.jpg +image85.jpg +image52.jpg +files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image130.gif +files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image30.gif +ehlpdhtm.js +geom.ppf +default_ns.css +whxdata\whtdata0.xml +whxdata\whftdata0.xml +whxdata\whfwdata0.xml +whxdata\whfwdata1.xml +whxdata\whfwdata2.xml +whxdata\whgdata0.xml +whdata\whtdata0.htm +whdata\whftdata0.htm +whdata\whfwdata0.htm +whdata\whfwdata1.htm +whdata\whfwdata2.htm +whdata\whgdata0.htm +whgdata\whlstt0.htm +whgdata\whlstt1.htm +whgdata\whlstt2.htm +whgdata\whlstt3.htm +whgdata\whlstt4.htm +whgdata\whlsti0.htm +whgdata\whlstfl0.htm +whgdata\whlstfl1.htm +whgdata\whlstfl2.htm +whgdata\whlstfl3.htm +whgdata\whlstfl4.htm +whgdata\whlstfl5.htm +whgdata\whlstfl6.htm +whgdata\whlstfl7.htm +whgdata\whlstfl8.htm +whgdata\whlstfl9.htm +whgdata\whlstfl10.htm +whgdata\whlstfl11.htm +whgdata\whlstfl12.htm +whgdata\whlstfl13.htm +whgdata\whlstfl14.htm +whgdata\whlstfl15.htm +whgdata\whlstfl16.htm +whgdata\whlstfl17.htm +whgdata\whlstfl18.htm +whgdata\whlstfl19.htm +whgdata\whlstfl20.htm +whgdata\whlstfl21.htm +whgdata\whlstfl22.htm +whgdata\whlstfl23.htm +whgdata\whlstf0.htm +whgdata\whlstf1.htm +whgdata\whlstf2.htm +whgdata\whlstf3.htm +whgdata\whlstf4.htm +whgdata\whlstf5.htm +whgdata\whlstg0.htm +geom.htm +geom_csh.htm +geom_rhc.htm diff --git a/doc/salome/gui/GEOM/geom_csh.htm b/doc/salome/gui/GEOM/geom_csh.htm new file mode 100755 index 000000000..24b1d19ff --- /dev/null +++ b/doc/salome/gui/GEOM/geom_csh.htm @@ -0,0 +1,106 @@ + + +GEOM reference manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/geom_rhc.htm b/doc/salome/gui/GEOM/geom_rhc.htm new file mode 100755 index 000000000..3f33cfe19 --- /dev/null +++ b/doc/salome/gui/GEOM/geom_rhc.htm @@ -0,0 +1,106 @@ + + +GEOM reference manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/image221.jpg b/doc/salome/gui/GEOM/image221.jpg new file mode 100755 index 000000000..076b54104 Binary files /dev/null and b/doc/salome/gui/GEOM/image221.jpg differ diff --git a/doc/salome/gui/GEOM/image222.jpg b/doc/salome/gui/GEOM/image222.jpg new file mode 100755 index 000000000..570bafe22 Binary files /dev/null and b/doc/salome/gui/GEOM/image222.jpg differ diff --git a/doc/salome/gui/GEOM/image223.jpg b/doc/salome/gui/GEOM/image223.jpg new file mode 100755 index 000000000..f0ed47fb8 Binary files /dev/null and b/doc/salome/gui/GEOM/image223.jpg differ diff --git a/doc/salome/gui/GEOM/image224.jpg b/doc/salome/gui/GEOM/image224.jpg new file mode 100755 index 000000000..1516d1503 Binary files /dev/null and b/doc/salome/gui/GEOM/image224.jpg differ diff --git a/doc/salome/gui/GEOM/image225.jpg b/doc/salome/gui/GEOM/image225.jpg new file mode 100755 index 000000000..cd1e60949 Binary files /dev/null and b/doc/salome/gui/GEOM/image225.jpg differ diff --git a/doc/salome/gui/GEOM/image226.jpg b/doc/salome/gui/GEOM/image226.jpg new file mode 100755 index 000000000..e17d41669 Binary files /dev/null and b/doc/salome/gui/GEOM/image226.jpg differ diff --git a/doc/salome/gui/GEOM/image227.jpg b/doc/salome/gui/GEOM/image227.jpg new file mode 100755 index 000000000..6764a27ca Binary files /dev/null and b/doc/salome/gui/GEOM/image227.jpg differ diff --git a/doc/salome/gui/GEOM/image228.jpg b/doc/salome/gui/GEOM/image228.jpg new file mode 100755 index 000000000..e04e921fb Binary files /dev/null and b/doc/salome/gui/GEOM/image228.jpg differ diff --git a/doc/salome/gui/GEOM/image229.jpg b/doc/salome/gui/GEOM/image229.jpg new file mode 100755 index 000000000..3067b984f Binary files /dev/null and b/doc/salome/gui/GEOM/image229.jpg differ diff --git a/doc/salome/gui/GEOM/image230.jpg b/doc/salome/gui/GEOM/image230.jpg new file mode 100755 index 000000000..8e68cec8c Binary files /dev/null and b/doc/salome/gui/GEOM/image230.jpg differ diff --git a/doc/salome/gui/GEOM/image231.jpg b/doc/salome/gui/GEOM/image231.jpg new file mode 100755 index 000000000..8bb972b1e Binary files /dev/null and b/doc/salome/gui/GEOM/image231.jpg differ diff --git a/doc/salome/gui/GEOM/image233.jpg b/doc/salome/gui/GEOM/image233.jpg new file mode 100755 index 000000000..a4295de38 Binary files /dev/null and b/doc/salome/gui/GEOM/image233.jpg differ diff --git a/doc/salome/gui/GEOM/image234.jpg b/doc/salome/gui/GEOM/image234.jpg new file mode 100755 index 000000000..f68e18e6e Binary files /dev/null and b/doc/salome/gui/GEOM/image234.jpg differ diff --git a/doc/salome/gui/GEOM/image235.jpg b/doc/salome/gui/GEOM/image235.jpg new file mode 100755 index 000000000..0b0429d29 Binary files /dev/null and b/doc/salome/gui/GEOM/image235.jpg differ diff --git a/doc/salome/gui/GEOM/image236.jpg b/doc/salome/gui/GEOM/image236.jpg new file mode 100755 index 000000000..bc88cf094 Binary files /dev/null and b/doc/salome/gui/GEOM/image236.jpg differ diff --git a/doc/salome/gui/GEOM/image237.jpg b/doc/salome/gui/GEOM/image237.jpg new file mode 100755 index 000000000..9f0eb98c8 Binary files /dev/null and b/doc/salome/gui/GEOM/image237.jpg differ diff --git a/doc/salome/gui/GEOM/image238.jpg b/doc/salome/gui/GEOM/image238.jpg new file mode 100755 index 000000000..70be93046 Binary files /dev/null and b/doc/salome/gui/GEOM/image238.jpg differ diff --git a/doc/salome/gui/GEOM/image239.jpg b/doc/salome/gui/GEOM/image239.jpg new file mode 100755 index 000000000..3d6ca9160 Binary files /dev/null and b/doc/salome/gui/GEOM/image239.jpg differ diff --git a/doc/salome/gui/GEOM/image240.jpg b/doc/salome/gui/GEOM/image240.jpg new file mode 100755 index 000000000..06ef70fb7 Binary files /dev/null and b/doc/salome/gui/GEOM/image240.jpg differ diff --git a/doc/salome/gui/GEOM/image241.jpg b/doc/salome/gui/GEOM/image241.jpg new file mode 100755 index 000000000..b0b7dd72a Binary files /dev/null and b/doc/salome/gui/GEOM/image241.jpg differ diff --git a/doc/salome/gui/GEOM/image242.jpg b/doc/salome/gui/GEOM/image242.jpg new file mode 100755 index 000000000..f25a99400 Binary files /dev/null and b/doc/salome/gui/GEOM/image242.jpg differ diff --git a/doc/salome/gui/GEOM/image243.jpg b/doc/salome/gui/GEOM/image243.jpg new file mode 100755 index 000000000..b0eaee2c0 Binary files /dev/null and b/doc/salome/gui/GEOM/image243.jpg differ diff --git a/doc/salome/gui/GEOM/image244.jpg b/doc/salome/gui/GEOM/image244.jpg new file mode 100755 index 000000000..f07716e5e Binary files /dev/null and b/doc/salome/gui/GEOM/image244.jpg differ diff --git a/doc/salome/gui/GEOM/image245.jpg b/doc/salome/gui/GEOM/image245.jpg new file mode 100755 index 000000000..511fe86d3 Binary files /dev/null and b/doc/salome/gui/GEOM/image245.jpg differ diff --git a/doc/salome/gui/GEOM/image246.jpg b/doc/salome/gui/GEOM/image246.jpg new file mode 100755 index 000000000..c2f661b85 Binary files /dev/null and b/doc/salome/gui/GEOM/image246.jpg differ diff --git a/doc/salome/gui/GEOM/image247.jpg b/doc/salome/gui/GEOM/image247.jpg new file mode 100755 index 000000000..3e9050b5c Binary files /dev/null and b/doc/salome/gui/GEOM/image247.jpg differ diff --git a/doc/salome/gui/GEOM/image248.jpg b/doc/salome/gui/GEOM/image248.jpg new file mode 100755 index 000000000..8430ef079 Binary files /dev/null and b/doc/salome/gui/GEOM/image248.jpg differ diff --git a/doc/salome/gui/GEOM/image249.jpg b/doc/salome/gui/GEOM/image249.jpg new file mode 100755 index 000000000..a9a6b8ccb Binary files /dev/null and b/doc/salome/gui/GEOM/image249.jpg differ diff --git a/doc/salome/gui/GEOM/image250.jpg b/doc/salome/gui/GEOM/image250.jpg new file mode 100755 index 000000000..f7bee5360 Binary files /dev/null and b/doc/salome/gui/GEOM/image250.jpg differ diff --git a/doc/salome/gui/GEOM/image251.jpg b/doc/salome/gui/GEOM/image251.jpg new file mode 100755 index 000000000..9b010ccad Binary files /dev/null and b/doc/salome/gui/GEOM/image251.jpg differ diff --git a/doc/salome/gui/GEOM/image252.jpg b/doc/salome/gui/GEOM/image252.jpg new file mode 100755 index 000000000..21624acb7 Binary files /dev/null and b/doc/salome/gui/GEOM/image252.jpg differ diff --git a/doc/salome/gui/GEOM/image253.jpg b/doc/salome/gui/GEOM/image253.jpg new file mode 100755 index 000000000..145e0656a Binary files /dev/null and b/doc/salome/gui/GEOM/image253.jpg differ diff --git a/doc/salome/gui/GEOM/image254.jpg b/doc/salome/gui/GEOM/image254.jpg new file mode 100755 index 000000000..70a85ee20 Binary files /dev/null and b/doc/salome/gui/GEOM/image254.jpg differ diff --git a/doc/salome/gui/GEOM/image255.jpg b/doc/salome/gui/GEOM/image255.jpg new file mode 100755 index 000000000..ef09ed827 Binary files /dev/null and b/doc/salome/gui/GEOM/image255.jpg differ diff --git a/doc/salome/gui/GEOM/image256.jpg b/doc/salome/gui/GEOM/image256.jpg new file mode 100755 index 000000000..df838f3c1 Binary files /dev/null and b/doc/salome/gui/GEOM/image256.jpg differ diff --git a/doc/salome/gui/GEOM/image257.jpg b/doc/salome/gui/GEOM/image257.jpg new file mode 100755 index 000000000..3a3146ed9 Binary files /dev/null and b/doc/salome/gui/GEOM/image257.jpg differ diff --git a/doc/salome/gui/GEOM/image258.jpg b/doc/salome/gui/GEOM/image258.jpg new file mode 100755 index 000000000..b21aca565 Binary files /dev/null and b/doc/salome/gui/GEOM/image258.jpg differ diff --git a/doc/salome/gui/GEOM/image259.jpg b/doc/salome/gui/GEOM/image259.jpg new file mode 100755 index 000000000..34708def6 Binary files /dev/null and b/doc/salome/gui/GEOM/image259.jpg differ diff --git a/doc/salome/gui/GEOM/image260.jpg b/doc/salome/gui/GEOM/image260.jpg new file mode 100755 index 000000000..035e5bb33 Binary files /dev/null and b/doc/salome/gui/GEOM/image260.jpg differ diff --git a/doc/salome/gui/GEOM/image261.jpg b/doc/salome/gui/GEOM/image261.jpg new file mode 100755 index 000000000..3543abad9 Binary files /dev/null and b/doc/salome/gui/GEOM/image261.jpg differ diff --git a/doc/salome/gui/GEOM/image262.jpg b/doc/salome/gui/GEOM/image262.jpg new file mode 100755 index 000000000..349d11d56 Binary files /dev/null and b/doc/salome/gui/GEOM/image262.jpg differ diff --git a/doc/salome/gui/GEOM/image263.jpg b/doc/salome/gui/GEOM/image263.jpg new file mode 100755 index 000000000..bfbd62163 Binary files /dev/null and b/doc/salome/gui/GEOM/image263.jpg differ diff --git a/doc/salome/gui/GEOM/image264.jpg b/doc/salome/gui/GEOM/image264.jpg new file mode 100755 index 000000000..15fe048d7 Binary files /dev/null and b/doc/salome/gui/GEOM/image264.jpg differ diff --git a/doc/salome/gui/GEOM/image265.jpg b/doc/salome/gui/GEOM/image265.jpg new file mode 100755 index 000000000..e8f6e60f9 Binary files /dev/null and b/doc/salome/gui/GEOM/image265.jpg differ diff --git a/doc/salome/gui/GEOM/image266.jpg b/doc/salome/gui/GEOM/image266.jpg new file mode 100755 index 000000000..30fe5d7e1 Binary files /dev/null and b/doc/salome/gui/GEOM/image266.jpg differ diff --git a/doc/salome/gui/GEOM/image267.jpg b/doc/salome/gui/GEOM/image267.jpg new file mode 100755 index 000000000..7a8e0d323 Binary files /dev/null and b/doc/salome/gui/GEOM/image267.jpg differ diff --git a/doc/salome/gui/GEOM/image268.jpg b/doc/salome/gui/GEOM/image268.jpg new file mode 100755 index 000000000..03326bceb Binary files /dev/null and b/doc/salome/gui/GEOM/image268.jpg differ diff --git a/doc/salome/gui/GEOM/image269.jpg b/doc/salome/gui/GEOM/image269.jpg new file mode 100755 index 000000000..8b390465e Binary files /dev/null and b/doc/salome/gui/GEOM/image269.jpg differ diff --git a/doc/salome/gui/GEOM/image270.jpg b/doc/salome/gui/GEOM/image270.jpg new file mode 100755 index 000000000..8c7d7d5e5 Binary files /dev/null and b/doc/salome/gui/GEOM/image270.jpg differ diff --git a/doc/salome/gui/GEOM/image271.jpg b/doc/salome/gui/GEOM/image271.jpg new file mode 100755 index 000000000..8cabff6be Binary files /dev/null and b/doc/salome/gui/GEOM/image271.jpg differ diff --git a/doc/salome/gui/GEOM/image272.jpg b/doc/salome/gui/GEOM/image272.jpg new file mode 100755 index 000000000..27b24c4e3 Binary files /dev/null and b/doc/salome/gui/GEOM/image272.jpg differ diff --git a/doc/salome/gui/GEOM/image273.jpg b/doc/salome/gui/GEOM/image273.jpg new file mode 100755 index 000000000..98c3af5df Binary files /dev/null and b/doc/salome/gui/GEOM/image273.jpg differ diff --git a/doc/salome/gui/GEOM/image274.jpg b/doc/salome/gui/GEOM/image274.jpg new file mode 100755 index 000000000..195c762b0 Binary files /dev/null and b/doc/salome/gui/GEOM/image274.jpg differ diff --git a/doc/salome/gui/GEOM/image275.jpg b/doc/salome/gui/GEOM/image275.jpg new file mode 100755 index 000000000..543d6f6ad Binary files /dev/null and b/doc/salome/gui/GEOM/image275.jpg differ diff --git a/doc/salome/gui/GEOM/image276.jpg b/doc/salome/gui/GEOM/image276.jpg new file mode 100755 index 000000000..07fbf3858 Binary files /dev/null and b/doc/salome/gui/GEOM/image276.jpg differ diff --git a/doc/salome/gui/GEOM/image277.jpg b/doc/salome/gui/GEOM/image277.jpg new file mode 100755 index 000000000..f6b0d459d Binary files /dev/null and b/doc/salome/gui/GEOM/image277.jpg differ diff --git a/doc/salome/gui/GEOM/image278.jpg b/doc/salome/gui/GEOM/image278.jpg new file mode 100755 index 000000000..2713794be Binary files /dev/null and b/doc/salome/gui/GEOM/image278.jpg differ diff --git a/doc/salome/gui/GEOM/image279.jpg b/doc/salome/gui/GEOM/image279.jpg new file mode 100755 index 000000000..14663b959 Binary files /dev/null and b/doc/salome/gui/GEOM/image279.jpg differ diff --git a/doc/salome/gui/GEOM/image280.jpg b/doc/salome/gui/GEOM/image280.jpg new file mode 100755 index 000000000..cc066aa9b Binary files /dev/null and b/doc/salome/gui/GEOM/image280.jpg differ diff --git a/doc/salome/gui/GEOM/image281.jpg b/doc/salome/gui/GEOM/image281.jpg new file mode 100755 index 000000000..cd35b0546 Binary files /dev/null and b/doc/salome/gui/GEOM/image281.jpg differ diff --git a/doc/salome/gui/GEOM/image282.jpg b/doc/salome/gui/GEOM/image282.jpg new file mode 100755 index 000000000..e0c2932f8 Binary files /dev/null and b/doc/salome/gui/GEOM/image282.jpg differ diff --git a/doc/salome/gui/GEOM/image283.jpg b/doc/salome/gui/GEOM/image283.jpg new file mode 100755 index 000000000..eda3dc070 Binary files /dev/null and b/doc/salome/gui/GEOM/image283.jpg differ diff --git a/doc/salome/gui/GEOM/image284.jpg b/doc/salome/gui/GEOM/image284.jpg new file mode 100755 index 000000000..dcf2f39a1 Binary files /dev/null and b/doc/salome/gui/GEOM/image284.jpg differ diff --git a/doc/salome/gui/GEOM/image285.jpg b/doc/salome/gui/GEOM/image285.jpg new file mode 100755 index 000000000..4b854a929 Binary files /dev/null and b/doc/salome/gui/GEOM/image285.jpg differ diff --git a/doc/salome/gui/GEOM/image286.jpg b/doc/salome/gui/GEOM/image286.jpg new file mode 100755 index 000000000..0ffe3be2c Binary files /dev/null and b/doc/salome/gui/GEOM/image286.jpg differ diff --git a/doc/salome/gui/GEOM/image287.jpg b/doc/salome/gui/GEOM/image287.jpg new file mode 100755 index 000000000..6d6b3ae7b Binary files /dev/null and b/doc/salome/gui/GEOM/image287.jpg differ diff --git a/doc/salome/gui/GEOM/image288.jpg b/doc/salome/gui/GEOM/image288.jpg new file mode 100755 index 000000000..7d2621480 Binary files /dev/null and b/doc/salome/gui/GEOM/image288.jpg differ diff --git a/doc/salome/gui/GEOM/image289.jpg b/doc/salome/gui/GEOM/image289.jpg new file mode 100755 index 000000000..f3d90f41c Binary files /dev/null and b/doc/salome/gui/GEOM/image289.jpg differ diff --git a/doc/salome/gui/GEOM/image290.jpg b/doc/salome/gui/GEOM/image290.jpg new file mode 100755 index 000000000..e88097d02 Binary files /dev/null and b/doc/salome/gui/GEOM/image290.jpg differ diff --git a/doc/salome/gui/GEOM/image291.jpg b/doc/salome/gui/GEOM/image291.jpg new file mode 100755 index 000000000..954ec541a Binary files /dev/null and b/doc/salome/gui/GEOM/image291.jpg differ diff --git a/doc/salome/gui/GEOM/image292.jpg b/doc/salome/gui/GEOM/image292.jpg new file mode 100755 index 000000000..0a4ca53d6 Binary files /dev/null and b/doc/salome/gui/GEOM/image292.jpg differ diff --git a/doc/salome/gui/GEOM/image293.jpg b/doc/salome/gui/GEOM/image293.jpg new file mode 100755 index 000000000..ca1c655eb Binary files /dev/null and b/doc/salome/gui/GEOM/image293.jpg differ diff --git a/doc/salome/gui/GEOM/image294.jpg b/doc/salome/gui/GEOM/image294.jpg new file mode 100755 index 000000000..8f2cb46ca Binary files /dev/null and b/doc/salome/gui/GEOM/image294.jpg differ diff --git a/doc/salome/gui/GEOM/image295.jpg b/doc/salome/gui/GEOM/image295.jpg new file mode 100755 index 000000000..34be1d4a6 Binary files /dev/null and b/doc/salome/gui/GEOM/image295.jpg differ diff --git a/doc/salome/gui/GEOM/image296.jpg b/doc/salome/gui/GEOM/image296.jpg new file mode 100755 index 000000000..1edb39e5f Binary files /dev/null and b/doc/salome/gui/GEOM/image296.jpg differ diff --git a/doc/salome/gui/GEOM/image297.jpg b/doc/salome/gui/GEOM/image297.jpg new file mode 100755 index 000000000..e324a2b5d Binary files /dev/null and b/doc/salome/gui/GEOM/image297.jpg differ diff --git a/doc/salome/gui/GEOM/image298.jpg b/doc/salome/gui/GEOM/image298.jpg new file mode 100755 index 000000000..2a86720b2 Binary files /dev/null and b/doc/salome/gui/GEOM/image298.jpg differ diff --git a/doc/salome/gui/GEOM/image299.jpg b/doc/salome/gui/GEOM/image299.jpg new file mode 100755 index 000000000..198bd3fa1 Binary files /dev/null and b/doc/salome/gui/GEOM/image299.jpg differ diff --git a/doc/salome/gui/GEOM/image300.jpg b/doc/salome/gui/GEOM/image300.jpg new file mode 100755 index 000000000..cbc1124eb Binary files /dev/null and b/doc/salome/gui/GEOM/image300.jpg differ diff --git a/doc/salome/gui/GEOM/image64.gif b/doc/salome/gui/GEOM/image64.gif new file mode 100755 index 000000000..031ab8bbd Binary files /dev/null and b/doc/salome/gui/GEOM/image64.gif differ diff --git a/doc/salome/gui/GEOM/newentity_blocks.htm b/doc/salome/gui/GEOM/newentity_blocks.htm index 8fb6b1511..183b87789 100755 --- a/doc/salome/gui/GEOM/newentity_blocks.htm +++ b/doc/salome/gui/GEOM/newentity_blocks.htm @@ -2,31 +2,11 @@ - - - - - Blocks - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Building by blocks

      @@ -223,47 +195,46 @@ else
        -
      • 4 Points, or

      • +
      • Name + 4 Points, or

      • -
      • 2 Edges, or

      • +
      • Name + 2 Edges, or

      • -
      • 4 Edges.

      • +
      • Name + 4 Edges.

       

      Dialog Box:

      - - -+
      - - - - - ++ + + + +
      -

      -

      -

      +

      +

      +

       

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

      +

       

       

      -

      Hexahedral +

      Hexahedral solid

       

      @@ -301,9 +272,9 @@ else
        -
      • 2 Faces, or

      • +
      • Name + 2 Faces, or

      • -
      • 6 Faces.

      • +
      • Name + 6 Faces.

       

      @@ -312,27 +283,26 @@ else

       

      - - -+
      +- - - + + +
      -

            

      -

      +

       

      +

       

      -

      Example:

      +

      Example:

      -

       

      +

       

      -

           

      +

           

      -

           

      +

           

       

      @@ -343,5 +313,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/sketcher.htm b/doc/salome/gui/GEOM/sketcher.htm index 98a550894..eb32210cf 100755 --- a/doc/salome/gui/GEOM/sketcher.htm +++ b/doc/salome/gui/GEOM/sketcher.htm @@ -2,31 +2,11 @@ - - - - - Sketcher - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Sketcher

      @@ -156,8 +129,7 @@ else

       

      -

      Arguments: -

      +

      Arguments:

      1. Element type (segment or arc).

      @@ -200,7 +172,7 @@ else

       

      -

      Dialog Box:

      +

      Dialog Box:

       

      @@ -221,5 +193,4 @@ if (window.writeIntopicBar) //--> - diff --git a/doc/salome/gui/GEOM/webhelp.cab b/doc/salome/gui/GEOM/webhelp.cab index 145860899..316303d53 100755 Binary files a/doc/salome/gui/GEOM/webhelp.cab and b/doc/salome/gui/GEOM/webhelp.cab differ diff --git a/doc/salome/gui/GEOM/webhelp.jar b/doc/salome/gui/GEOM/webhelp.jar index d985cac1c..2b0876729 100755 Binary files a/doc/salome/gui/GEOM/webhelp.jar and b/doc/salome/gui/GEOM/webhelp.jar differ diff --git a/doc/salome/gui/GEOM/whcsh_home.htm b/doc/salome/gui/GEOM/whcsh_home.htm new file mode 100755 index 000000000..92ccd93b2 --- /dev/null +++ b/doc/salome/gui/GEOM/whcsh_home.htm @@ -0,0 +1,600 @@ + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whcshdata.htm b/doc/salome/gui/GEOM/whcshdata.htm new file mode 100755 index 000000000..9576ec08b --- /dev/null +++ b/doc/salome/gui/GEOM/whcshdata.htm @@ -0,0 +1,87 @@ + + +GEOM reference manual + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whdata/whftdata.js b/doc/salome/gui/GEOM/whdata/whftdata.js index 9e3b6abd0..071ae6fc7 100755 --- a/doc/salome/gui/GEOM/whdata/whftdata.js +++ b/doc/salome/gui/GEOM/whdata/whftdata.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gTEA = new Array(); function aTE(sTopicTitle, sTopicURL) { diff --git a/doc/salome/gui/GEOM/whdata/whftdata0.htm b/doc/salome/gui/GEOM/whdata/whftdata0.htm index 62ffe6714..0a639b225 100755 --- a/doc/salome/gui/GEOM/whdata/whftdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whftdata0.htm @@ -1,6 +1,8 @@ - + + + @@ -30,4 +32,4 @@ aTE("Working with groups","working_with_groups.htm"); //--> - + diff --git a/doc/salome/gui/GEOM/whdata/whfts.htm b/doc/salome/gui/GEOM/whdata/whfts.htm index 3858e4cda..c60417d5d 100755 --- a/doc/salome/gui/GEOM/whdata/whfts.htm +++ b/doc/salome/gui/GEOM/whdata/whfts.htm @@ -1,16 +1,20 @@ - + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whdata/whfts.js b/doc/salome/gui/GEOM/whdata/whfts.js index 2041512fe..2b6678690 100755 --- a/doc/salome/gui/GEOM/whdata/whfts.js +++ b/doc/salome/gui/GEOM/whdata/whfts.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gaFileMapping = new Array(); var gaFileTopicMapping = new Array(); diff --git a/doc/salome/gui/GEOM/whdata/whfwdata.js b/doc/salome/gui/GEOM/whdata/whfwdata.js index 463bfb00d..e9e8bc6c1 100755 --- a/doc/salome/gui/GEOM/whdata/whfwdata.js +++ b/doc/salome/gui/GEOM/whdata/whfwdata.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gWEA = new Array(); function aWE() { diff --git a/doc/salome/gui/GEOM/whdata/whfwdata0.htm b/doc/salome/gui/GEOM/whdata/whfwdata0.htm index 82fe9859b..e078ae587 100755 --- a/doc/salome/gui/GEOM/whdata/whfwdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whfwdata0.htm @@ -1,6 +1,8 @@ - + + + @@ -10,20 +12,20 @@ - + diff --git a/doc/salome/gui/GEOM/whdata/whfwdata1.htm b/doc/salome/gui/GEOM/whdata/whfwdata1.htm new file mode 100755 index 000000000..211307aa2 --- /dev/null +++ b/doc/salome/gui/GEOM/whdata/whfwdata1.htm @@ -0,0 +1,287 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whdata/whfwdata2.htm b/doc/salome/gui/GEOM/whdata/whfwdata2.htm new file mode 100755 index 000000000..5d86dc6b0 --- /dev/null +++ b/doc/salome/gui/GEOM/whdata/whfwdata2.htm @@ -0,0 +1,222 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whdata/whgdata.js b/doc/salome/gui/GEOM/whdata/whgdata.js index 729327323..77e0107f3 100755 --- a/doc/salome/gui/GEOM/whdata/whgdata.js +++ b/doc/salome/gui/GEOM/whdata/whgdata.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gIEA = new Array(); function aGE(sName, sDef) { diff --git a/doc/salome/gui/GEOM/whdata/whgdata0.htm b/doc/salome/gui/GEOM/whdata/whgdata0.htm index 9fbefcb8f..9d256b1a8 100755 --- a/doc/salome/gui/GEOM/whdata/whgdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whgdata0.htm @@ -1,6 +1,8 @@ - + + + diff --git a/doc/salome/gui/GEOM/whdata/whglo.htm b/doc/salome/gui/GEOM/whdata/whglo.htm index d00c26063..dc5a67786 100755 --- a/doc/salome/gui/GEOM/whdata/whglo.htm +++ b/doc/salome/gui/GEOM/whdata/whglo.htm @@ -1,6 +1,8 @@ - + + + diff --git a/doc/salome/gui/GEOM/whdata/whglo.js b/doc/salome/gui/GEOM/whdata/whglo.js index ded3d5791..e0519afcb 100755 --- a/doc/salome/gui/GEOM/whdata/whglo.js +++ b/doc/salome/gui/GEOM/whdata/whglo.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gaFileMapping = new Array(); function fileMapping(sBK, sEK, sFileName, nNum) { diff --git a/doc/salome/gui/GEOM/whdata/whidata.js b/doc/salome/gui/GEOM/whdata/whidata.js index c8c2a05fd..9f0eb15ed 100755 --- a/doc/salome/gui/GEOM/whdata/whidata.js +++ b/doc/salome/gui/GEOM/whdata/whidata.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 // const strings var gIEA = new Array(); function aIE() diff --git a/doc/salome/gui/GEOM/whdata/whidx.htm b/doc/salome/gui/GEOM/whdata/whidx.htm index c0aa1758e..0a0deedd0 100755 --- a/doc/salome/gui/GEOM/whdata/whidx.htm +++ b/doc/salome/gui/GEOM/whdata/whidx.htm @@ -1,13 +1,15 @@ - + + + - \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whdata/whidx.js b/doc/salome/gui/GEOM/whdata/whidx.js index ded3d5791..e0519afcb 100755 --- a/doc/salome/gui/GEOM/whdata/whidx.js +++ b/doc/salome/gui/GEOM/whdata/whidx.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gaFileMapping = new Array(); function fileMapping(sBK, sEK, sFileName, nNum) { diff --git a/doc/salome/gui/GEOM/whdata/whtdata.js b/doc/salome/gui/GEOM/whdata/whtdata.js index 64bcff920..d5428a7de 100755 --- a/doc/salome/gui/GEOM/whdata/whtdata.js +++ b/doc/salome/gui/GEOM/whdata/whtdata.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gTEA = new Array(); function aTE() { @@ -34,6 +35,11 @@ function tocEntry(fn_arguments) if (fn_arguments.length > 3) { this.sRefURL = fn_arguments[3]; + if (this.nType == 4) + { + if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) + this.sRefURL+="/"; + } if (fn_arguments.length > 4) { this.sItemURL = fn_arguments[4]; diff --git a/doc/salome/gui/GEOM/whdata/whtdata0.htm b/doc/salome/gui/GEOM/whdata/whtdata0.htm index 1e295373b..f575ec03d 100755 --- a/doc/salome/gui/GEOM/whdata/whtdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whtdata0.htm @@ -1,9 +1,11 @@ - + + + - + diff --git a/doc/salome/gui/GEOM/whgdhtml.htm b/doc/salome/gui/GEOM/whgdhtml.htm index 01b669216..6ffb2947a 100755 --- a/doc/salome/gui/GEOM/whgdhtml.htm +++ b/doc/salome/gui/GEOM/whgdhtml.htm @@ -1,9 +1,9 @@ Glossary - + - + diff --git a/doc/salome/gui/GEOM/whghost.js b/doc/salome/gui/GEOM/whghost.js index 77751a19e..56e1d5659 100755 --- a/doc/salome/gui/GEOM/whghost.js +++ b/doc/salome/gui/GEOM/whghost.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.004 var gbXML=false; var gaDef=new Array(); var gsBgColor="#ffffff"; @@ -8,6 +9,8 @@ var gsMargin="2pt"; var gsIndent="2pt"; var gsActiveBgColor="#cccccc"; var gbWhGHost=false; +var gbShowDef=true; +var gsGloId="Glo_" function setBackground(sBgImage) { @@ -43,22 +46,6 @@ function setIndent(sIndent) gsIndent=sIndent; } -function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,n,aPos,nLevel) -{ - - var sHTML=""; - var nIdxSet=aCurIdxSet[n]; - var nIIdx=aPos[nIdxSet]; - var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx); - var sKName=_textToHtml(sRawKName); - var nIndex=insertDef(sKName,_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx))); - if(nLevel==1){ - sHTML+="

      "+sKName+"

      "; - } - oHTML.addHTML(sHTML,1,bDown,true,sRawKName); -} - function insertDef(sKName,sDef) { var nLength=gaDef.length @@ -71,6 +58,7 @@ function showDef(nDef) { if(nDef"; + sHTML+=""+sKName+"

      "; + oHTML.addHTML(sHTML,nLength,bDown,true,sRawKName); + if(gbShowDef) + { + setTimeout("showDef(0);",100); + gbShowDef = false; + } + } +} + +function HighLight(nIndex) +{ + var oObj=getElement(getGloId(nIndex)); + if(oObj) + HighLightElement(oObj,gsActiveBgColor,"transparent"); +} + +function getGloId(nIndex) +{ + return gsGloId+nIndex; } function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos) @@ -146,7 +176,7 @@ function loadGlo() var sLangId=aProj[0].sLangId; for(var i=0;i Index content - + - + @@ -15,11 +15,7 @@ <p>Your browser does not support frames. We recommend that you update your browser to a version that supports frames.</p><p>To view the Help system without frames click on this<a href="whgdata/whnvp30.htm">hyperlink.</a></p> diff --git a/doc/salome/gui/GEOM/whphost.js b/doc/salome/gui/GEOM/whphost.js index d4c80bbb9..9c91b49c8 100755 --- a/doc/salome/gui/GEOM/whphost.js +++ b/doc/salome/gui/GEOM/whphost.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.005 var gaProj=new Array(); var gnChecked=0; var gsProjName=""; @@ -87,7 +88,7 @@ function whCom(sName,sComFile) var strFile= _getFullPath(getPath(), this.msComFile); var oDiv=getElement(this.msDivId); if(oDiv){ - if(gbIE4){ + if(gbIE4||gbOpera7){ var nIFrameHeight=oDiv.style.pixelHeight; var nIFrameWidth=oDiv.style.pixelWidth; var sHTML=""; + gsHTML=""; goDiv = oDiv; setTimeout("delayLoad()", 100); } @@ -119,11 +119,12 @@ function whCom(sName,sComFile) var sHTML=""; if(gbMac&&gbIE4) sHTML+="
      "; + else if(gbIE5) + sHTML+="
      "; + else if(gbIE4||gbWindows) + sHTML+="
      "; else - if (gbIE5) - sHTML+="
      "; - else - sHTML+="
      "; + sHTML+="
      "; sHTML+="
      "; return sHTML; } @@ -203,29 +204,68 @@ function getPath() goMan=new whComMan(); function addPane(sName,sFileName) { - goMan.addCom(sName,sFileName); + var oParam=new Object(); + oParam.sName=sName; + var oMsg=new whMessage(WH_MSG_GETPANE, this, 1, oParam); + if (SendMessage(oMsg)) + { + if (oMsg.oParam.bEnable) + goMan.addCom(sName,sFileName); + } + else + goMan.addCom(sName,sFileName); } function setShowPane(sName, bForce) { if ((gsFirstPane == "") || bForce) - gsFirstPane=sName; + { + var oMsg=new whMessage(WH_MSG_GETDEFPANE, this, 1, null); + if (SendMessage(oMsg)) + { + if (oMsg.oParam) + gsFirstPane = oMsg.oParam; + else + gsFirstPane=sName; + } + else + gsFirstPane=sName; + } } function window_OnLoad() { - if(gsProjName!="") + var oMsg=new whMessage(WH_MSG_GETCMD,this,1,null); + var bHidePane=false; + if (SendMessage(oMsg)) { - goMan.init(); - if(gsFirstPane!="") - goMan.show(gsFirstPane); - else - goMan.showById(0); - loadData2(gsProjName); + if(oMsg.oParam>0) + { + if(oMsg.oParam==1) + gsFirstPane="toc"; + else if(oMsg.oParam==2) + gsFirstPane="idx"; + else if(oMsg.oParam==3) + gsFirstPane="fts"; + else if(oMsg.oParam==4) + gsFirstPane="glo"; + } + else if(oMsg.oParam==0) + { + bHidePane=true; + } } - else if (gServerEnabled) + goMan.init(); + if(gsProjName!="") + loadData2(gsProjName); + if (bHidePane) + { + gsFirstPane=""; + var oMsg1=new whMessage(WH_MSG_HIDEPANE, this, 1, null) + SendMessage(oMsg1); + } + else { - goMan.init(); if(gsFirstPane!="") goMan.show(gsFirstPane); else @@ -249,7 +289,7 @@ function loadData2(strFile) function addProject(bPreferXML,sXMLName,sHTMLName) { var bLoadXML=bPreferXML; - if(!gbIE4&&!gbNav6) + if(!gbIE4&&!gbNav6&&!gbOpera7) return; if(gbIE4&&!gbIE5) bLoadXML=false; @@ -257,6 +297,8 @@ function addProject(bPreferXML,sXMLName,sHTMLName) bLoadXML=true; if(gbIE55||gbNav6) bLoadXML=true; + if(gbOpera7) + bLoadXML=false; if(bLoadXML) addProjectXML(sXMLName); else @@ -316,6 +358,8 @@ function putDataXML(xmlDoc,sdocPath) var sURL=RmtProject[i].getAttribute("url"); if(sURL) { + if(sURL.lastIndexOf("/")!=sURL.length-1) + sURL+="/"; aRProj[nCount]=new Object(); aRProj[nCount++].sPPath=_getFullPath(aRProj[0].sPPath,sURL); } @@ -326,11 +370,23 @@ function putDataXML(xmlDoc,sdocPath) { // on Netscape 6.0 under some situation the xml file cannot be loaded. // so we use pure html instead. - setTimeout("redirectToList();",100); + if (gnChecked == 0) + setTimeout("redirectToList();",100); + else + { + gnChecked++; + setTimeout("checkRemoteProject();", 1); + } } } } +function onLoadXMLError() +{ + gnChecked++; + setTimeout("checkRemoteProject();", 1); +} + function redirectToList() { if(gbReDirectThis) @@ -346,7 +402,7 @@ function putProjectInfo(aRProj) if(gnChecked!=0) { if(aRProj[0].sLangId!=gaProj[0].sLangId) - alert("The project: "+aRProj[0].sPPath+" is using a different language to the main project, which will cause the index and full text search functionality to be disabled for this remote project."); + alert("The merged Help system "+aRProj[0].sPPath+" is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system."); } gaProj[gnChecked]=aRProj[0]; for(var i=1;i project description - + - + @@ -14,7 +14,7 @@ setLangId("1033"); setDataPath("whdata"); addToc("whtoc.htm"); - + addIdx("whidx.htm"); addFts("whfts.htm"); addGlo("whglo.htm"); diff --git a/doc/salome/gui/GEOM/whproj.js b/doc/salome/gui/GEOM/whproj.js index 0e235159b..ae38fa994 100755 --- a/doc/salome/gui/GEOM/whproj.js +++ b/doc/salome/gui/GEOM/whproj.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gaProj=new Array(); gaProj[0]=new project(""); @@ -41,6 +42,8 @@ function addGlo(sFile) function addRemoteProject(sProjRelPath) { + if(sProjRelPath.lastIndexOf("/")!=sProjRelPath.length-1) + sProjRelPath+="/"; gaProj[gaProj.length]=new project(sProjRelPath); } diff --git a/doc/salome/gui/GEOM/whproj.xml b/doc/salome/gui/GEOM/whproj.xml index d16f189af..8125375e4 100755 --- a/doc/salome/gui/GEOM/whproj.xml +++ b/doc/salome/gui/GEOM/whproj.xml @@ -1,3 +1,3 @@ - - + + diff --git a/doc/salome/gui/GEOM/whproxy.js b/doc/salome/gui/GEOM/whproxy.js index 222927a0a..d0ee29813 100755 --- a/doc/salome/gui/GEOM/whproxy.js +++ b/doc/salome/gui/GEOM/whproxy.js @@ -1,3 +1,4 @@ +// WebHelp 5.10.001 var gbInited=false; var gWndStubPage=null; function getStubPage() @@ -60,4 +61,14 @@ function SendMessage(oMessage) return false; } -var gbWhProxy=true; \ No newline at end of file +var gbWhProxy=true; + +var gbPreview=false; +gbPreview=false; +if (gbPreview) + document.oncontextmenu=contextMenu; + +function contextMenu() +{ + return false; +} diff --git a/doc/salome/gui/GEOM/whres.xml b/doc/salome/gui/GEOM/whres.xml index 9634684e9..d47a2b7c8 100755 --- a/doc/salome/gui/GEOM/whres.xml +++ b/doc/salome/gui/GEOM/whres.xml @@ -1,4 +1,4 @@ - + @@ -6,9 +6,13 @@ + + + + @@ -18,7 +22,11 @@ + + + + @@ -28,13 +36,21 @@ + + + + + + + + @@ -57,6 +73,7 @@ + @@ -64,6 +81,7 @@ + @@ -160,14 +178,14 @@ - - - - + + + + diff --git a/doc/salome/gui/GEOM/whskin_banner.htm b/doc/salome/gui/GEOM/whskin_banner.htm index afe2d3f06..39ed797e6 100755 --- a/doc/salome/gui/GEOM/whskin_banner.htm +++ b/doc/salome/gui/GEOM/whskin_banner.htm @@ -1,13 +1,14 @@ About WebHelp                                                                                    - + - + + GEOM reference manual + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whskin_info.htm b/doc/salome/gui/GEOM/whskin_info.htm index 397af575b..f99a2d5e7 100755 --- a/doc/salome/gui/GEOM/whskin_info.htm +++ b/doc/salome/gui/GEOM/whskin_info.htm @@ -1,20 +1,20 @@ -WebHelp 5.00 +WebHelp 5.50 - + -

      WebHelp 5.00 System Info

      +

      WebHelp 5.50 System Info

      - + - + - - - + + +
      Start Page geom.html
      Start Page geom.htm
      Skin Name Default
      Generating Time 18:40 11/11/2004
      Generating Time 16:19 11/25/2004
      Language ID 1033
      Compile Script webhelp5_compile_script.xml
      Compile Build Version 10.00.949
      Product Name WebHelp 5.00
      Authoring Tool Name RoboHelp 2002
      Compile Build Version 13.00.584
      Product Name WebHelp 5.50
      Authoring Tool Name RoboHelp X5
      \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whskin_mbars.htm b/doc/salome/gui/GEOM/whskin_mbars.htm index 66e8c5329..c4fa48af8 100755 --- a/doc/salome/gui/GEOM/whskin_mbars.htm +++ b/doc/salome/gui/GEOM/whskin_mbars.htm @@ -1,6 +1,9 @@ - + WebHelp Navigation Mini-bar + + +\n"; + document.write(sStyle); +} + +function window_OnLoad() +{ + if(document.body) + { + if(gsBgImage&&gsBgImage.length>0) + { + document.body.background=gsBgImage; + } + if(gsBgColor&&gsBgColor.length>0) + { + document.body.bgColor=gsBgColor; + } + } + fnOnload(); + window_onResize(); +} + +function window_onResize() +{ + var oDiv = getElement("divlist"); + var oTitle = getElement("p_title"); + var oButton = getElement("tb_button"); + if (oDiv && oTitle && oButton) + { + oDiv.style.height = document.body.offsetHeight - oTitle.offsetHeight - oButton.offsetHeight - 8; + } +} +goTableFont=new whFont("Verdana","8pt","#000000","normal","normal","none"); +goFont=new whFont("Verdana","8pt","#000000","normal","normal","none"); +goHoverFont=new whFont("Verdana","8pt","#666666","normal","normal","none"); + + +setBackgroundcolor("White"); + +setFont("Table", "Tahoma","8pt","Navy","Normal","Normal","none"); +setListBackgroundcolor("White"); + +setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none"); +setFont("Hover", "Tahoma","8pt","Navy","Normal","Normal","underline"); +setActiveBgColor("Silver"); + +window.onload=window_OnLoad; +window.onresize = window_onResize; +writeStyle(); +//--> + + + + +

      Select a topic, then click Display

      +
      +
      +
      + + + +
      + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whskin_plist.htm b/doc/salome/gui/GEOM/whskin_plist.htm index 35f0155b8..f7cf6d1d5 100755 --- a/doc/salome/gui/GEOM/whskin_plist.htm +++ b/doc/salome/gui/GEOM/whskin_plist.htm @@ -1,47 +1,38 @@ Navigation Pane - + - + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whskin_tbars.htm b/doc/salome/gui/GEOM/whskin_tbars.htm index 8b705444c..ecec5c12d 100755 --- a/doc/salome/gui/GEOM/whskin_tbars.htm +++ b/doc/salome/gui/GEOM/whskin_tbars.htm @@ -1,6 +1,9 @@ - + WebHelp Navigation Toolbar + + + "; + var sStyle=""; document.write(sStyle); } } } -function button(sText, nWidth, nHeight) +function button(sText,nWidth,nHeight) { - this.sText = sText; - this.nWidth = nWidth; - this.nHeight = nHeight; + this.sText=sText; + this.nWidth=nWidth; + this.nHeight=nHeight; - this.aImgs = new Array(); - var i = 0; - while (button.arguments.length > i + 3) + this.aImgs=new Array(); + var i=0; + while(button.arguments.length>i+3) { - this.aImgs[i] = button.arguments[3 + i]; - i ++; + this.aImgs[i]=button.arguments[3+i]; + i++; } } -// project info +//project info function setRelStartPage(sPath) { - if (gsPPath.length == 0) + if(gsPPath.length==0) { - gsPPath = _getFullPath(_getPath(document.location.href), _getPath(sPath)); - gsStartPage = _getFullPath(_getPath(document.location.href), sPath); - gsRelCurPagePath = _getRelativeFileName(gsStartPage, document.location.href); + gsPPath=_getFullPath(_getPath(document.location.href),_getPath(sPath)); + gsStartPage=_getFullPath(_getPath(document.location.href),sPath); + gsRelCurPagePath=_getRelativeFileName(gsStartPage,document.location.href); } } -function getImage(oImage, sType) +function getImage(oImage,sType) { var sImg=""; - if (oImage && oImage.aImgs && (oImage.aImgs.length > 0)) + if(oImage&&oImage.aImgs&&(oImage.aImgs.length>0)) { - sImg+="\""+ 0) - sImg+=" width=" + oImage.nWidth; - if (oImage.nHeight > 0) - sImg+=" height=" + oImage.nHeight; - sImg+=" border=no>"; + sImg+="\""+sType+"\"0) + sImg+=" width="+oImage.nWidth; + if(oImage.nHeight>0) + sImg+=" height="+oImage.nHeight; + sImg+=" border=0>"; } return sImg; } function addTocInfo(sTocPath) { - gaPaths[gaPaths.length] = sTocPath; + gaPaths[gaPaths.length]=sTocPath; } -function addAvenueInfo(sName, sPrev, sNext) +function addAvenueInfo(sName,sPrev,sNext) { - gaAvenues[gaAvenues.length] = new avenueInfo(sName, sPrev, sNext); + gaAvenues[gaAvenues.length]=new avenueInfo(sName,sPrev,sNext); } -function addButton(sType, nStyle, sText, sHref, sOnClick, sOnMouseOver, sOnLoad, nWidth, nHeight, sImg1, sImg2, sImg3) +function addButton(sType,nStyle,sText,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sImg1,sImg2,sImg3) { - var sButton = ""; + var sButton=""; var nBtn=gaButtons.length; - if (sType == "prev") + if(sType=="prev") { - if (canGo(false)) + if(canGo(false)) { - var sTitle = "Previous Topic"; - goPrev = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goPrev.sText; + var sTitle="Previous Topic"; + goPrev=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goPrev.sText; else - sButton += getImage(goPrev, sTitle); - sButton += ""; + sButton+=getImage(goPrev,sTitle); + sButton+=""; } } - else if (sType == "next") + else if(sType=="next") { - if (canGo(true)) + if(canGo(true)) { - var sTitle = "Next Topic"; - goNext = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goNext.sText; + var sTitle="Next Topic"; + goNext=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goNext.sText; else - sButton += getImage(goNext, sTitle); - sButton += ""; + sButton+=getImage(goNext,sTitle); + sButton+=""; } } - else if (sType == "show") + else if(sType=="show") { - if (isTopicOnly()) + if(isTopicOnly()&&(!gbOpera6||gbOpera7)) { - var sTitle = "Show Navigation Component"; - goShow = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goShow.sText; + var sTitle="Show Navigation Component"; + goShow=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goShow.sText; else - sButton += getImage(goShow, sTitle); - sButton += ""; + sButton+=getImage(goShow,sTitle); + sButton+=""; } } - else if (sType == "hide") + else if(sType=="hide") { - if (!isTopicOnly()) + if(!isTopicOnly()&&!gbOpera6) { - var sTitle = "Hide Navigation Component"; - goHide = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goHide.sText; + var sTitle="Hide Navigation Component"; + goHide=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goHide.sText; else - sButton += getImage(goHide, sTitle); - sButton += ""; + sButton+=getImage(goHide,sTitle); + sButton+=""; } } - else if (sType == "shownav") + else if(sType=="shownav") { - - if (isShowHideEnable()) + if(isShowHideEnable()) { - var sTitle = "Show Navigation Component"; - goShowNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goShowNav.sText; + var sTitle="Show Navigation Component"; + goShowNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goShowNav.sText; else - sButton += getImage(goShowNav, sTitle); - sButton += ""; + sButton+=getImage(goShowNav,sTitle); + sButton+=""; } } - else if (sType == "hidenav") + else if(sType=="hidenav") { - if (isShowHideEnable()) + if(isShowHideEnable()) { - var sTitle = "Hide Navigation Component"; - goHideNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goHideNav.sText; + var sTitle="Hide Navigation Component"; + goHideNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goHideNav.sText; else - sButton += getImage(goHideNav, sTitle); - sButton += ""; + sButton+=getImage(goHideNav,sTitle); + sButton+=""; } } - else if (sType == "synctoc") + else if(sType=="synctoc") { - if (gaPaths.length > 0) + if(gaPaths.length>0) { - var sTitle = "Sync TOC"; - goSync = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goSync.sText; + var sTitle="Sync TOC"; + goSync=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goSync.sText; else - sButton += getImage(goSync, sTitle); - sButton += ""; + sButton+=getImage(goSync,sTitle); + sButton+=""; } } - else if (sType == "websearch") + else if(sType=="websearch") { - if (gsSearchFormHref.length > 0) + if(gsSearchFormHref.length>0) { - var sTitle = "WebSearch"; - goWebSearch = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); - sButton = ""; - if (nStyle == BTN_TEXT) - sButton += goWebSearch.sText; + var sTitle="WebSearch"; + goWebSearch=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goWebSearch.sText; else - sButton += getImage(goWebSearch, sTitle); - sButton += ""; + sButton+=getImage(goWebSearch,sTitle); + sButton+=""; } } - else if (sType == "searchform") + else if(sType=="searchform") { - gaButtons[nBtn] = "NeedSearchForm"; - gaTypes[nBtn] = sType; + gaButtons[nBtn]="NeedSearchForm"; + gaTypes[nBtn]=sType; } - if (sButton.length != 0) + if(sButton.length!=0) { - if (nStyle == BTN_TEXT) - sButton += " "; - gaButtons[nBtn] = "
      " + sButton + ""+sButton+"
      "; - for (var i = 0; i < gaButtons.length; i++) + sHTML+="
      "; + for(var i=0;i 0) + if(isInPopup()) return; + if(gaButtons.length>0) { - var sHTML = ""; - if (nAligns != 0) + var sHTML=""; + if(nAligns!=0) { - sHTML += "
      " - if (nAligns & 1) - sHTML += ""; - if (nAligns & 2) - sHTML += ""; - if (nAligns & 4) - sHTML += ""; - sHTML += "
      " + getIntopicBar("left") + "" + getIntopicBar("center") + "" + getIntopicBar("right") + "
      "; + sHTML+="" + if(nAligns&1) + sHTML+=""; + if(nAligns&2) + sHTML+=""; + if(nAligns&4) + sHTML+=""; + sHTML+="
      "+getIntopicBar("left")+""+getIntopicBar("center")+""+getIntopicBar("right")+"
      "; document.write(sHTML); } } @@ -302,45 +302,45 @@ function writeIntopicBar(nAligns) function sendAveInfoOut() { - if (!isInPopup()) - setTimeout("sendAveInfo();", 100); + if(!isInPopup()) + setTimeout("sendAveInfo();",100); } function sendAveInfo() { - var oMsg = new whMessage(WH_MSG_AVENUEINFO, this, 1, gaAvenues); + var oMsg=new whMessage(WH_MSG_AVENUEINFO,this,1,gaAvenues); SendMessage(oMsg); } function onNext() { - var oMsg = new whMessage(WH_MSG_NEXT, this, 1, null); + var oMsg=new whMessage(WH_MSG_NEXT,this,1,null); SendMessage(oMsg); } function onPrev() { - var oMsg = new whMessage(WH_MSG_PREV, this, 1, null); + var oMsg=new whMessage(WH_MSG_PREV,this,1,null); SendMessage(oMsg); } function createSyncInfo() { - var oParam = new Object(); - if (gsPPath.length == 0) - gsPPath = _getPath(document.location.href); - oParam.sPPath = gsPPath; - oParam.sTPath = document.location.href; - oParam.aPaths = gaPaths; + var oParam=new Object(); + if(gsPPath.length==0) + gsPPath=_getPath(document.location.href); + oParam.sPPath=gsPPath; + oParam.sTPath=document.location.href; + oParam.aPaths=gaPaths; return oParam; } function syncWithShow() { - if (isTopicOnly()) + if(isTopicOnly()) show(); - else + else { sync(); showTocPane(); @@ -349,86 +349,86 @@ function syncWithShow() function showTocPane() { - var oMsg = new whMessage(WH_MSG_SHOWTOC, this, 1, null); + var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null); SendMessage(oMsg); } function sendSyncInfo() { - if (!isInPopup()) + if(!isInPopup()) { - var oParam = null; - if (gaPaths.length > 0) + var oParam=null; + if(gaPaths.length>0) { - oParam = createSyncInfo(); + oParam=createSyncInfo(); } - var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, oParam); + var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,oParam); SendMessage(oMsg); } } function sendInvalidSyncInfo() { - if (!isInPopup()) + if(!isInPopup()) { - var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, null); + var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,null); SendMessage(oMsg); } } function enableWebSearch(bEnable) { - if (!isInPopup()) + if(!isInPopup()) { - var oMsg = new whMessage(WH_MSG_ENABLEWEBSEARCH, this, 1, bEnable); + var oMsg=new whMessage(WH_MSG_ENABLEWEBSEARCH,this,1,bEnable); SendMessage(oMsg); } } function autoSync(nSync) { - if (nSync == 0) return; - if (isInPopup()) return; - if (isOutMostTopic()) + if(nSync==0) return; + if(isInPopup()) return; + if(isOutMostTopic()) sync(); } function isOutMostTopic() { - if (gnOutmostTopic == -1) + if(gnOutmostTopic==-1) { - var oMessage = new whMessage(WH_MSG_ISINFRAMESET, this, 1 , null); - if (SendMessage(oMessage)) - gnOutmostTopic = 0; + var oMessage=new whMessage(WH_MSG_ISINFRAMESET,this,1,null); + if(SendMessage(oMessage)) + gnOutmostTopic=0; else - gnOutmostTopic = 1; + gnOutmostTopic=1; } - return (gnOutmostTopic == 1); + return (gnOutmostTopic==1); } function sync() { - if (gaPaths.length > 0) + if(gaPaths.length>0) { - var oParam = createSyncInfo(); - var oMessage = new whMessage(WH_MSG_SYNCTOC, this, 1, oParam); + var oParam=createSyncInfo(); + var oMessage=new whMessage(WH_MSG_SYNCTOC,this,1,oParam); SendMessage(oMessage); } } -function avenueInfo(sName, sPrev, sNext) +function avenueInfo(sName,sPrev,sNext) { - this.sName = sName; - this.sPrev = sPrev; - this.sNext = sNext; + this.sName=sName; + this.sPrev=sPrev; + this.sNext=sNext; } function getCurrentAvenue() { - var oParam = new Object(); - oParam.sAvenue = null; - var oMessage = new whMessage(WH_MSG_GETCURRENTAVENUE, this, 1, oParam); + var oParam=new Object(); + oParam.sAvenue=null; + var oMessage=new whMessage(WH_MSG_GETCURRENTAVENUE,this,1,oParam); SendMessage(oMessage); return oParam.sAvenue; } @@ -437,37 +437,37 @@ function unRegisterListener() { sendInvalidSyncInfo(); enableWebSearch(false); - if (whtopic_foldUnload) + if(whtopic_foldUnload) whtopic_foldUnload(); } function onSendMessage(oMsg) { - var nMsgId = oMsg.nMessageId; - if (nMsgId == WH_MSG_GETAVIAVENUES) + var nMsgId=oMsg.nMessageId; + if(nMsgId==WH_MSG_GETAVIAVENUES) { - oMsg.oParam.aAvenues = gaAvenues; + oMsg.oParam.aAvenues=gaAvenues; return false; } - else if (nMsgId == WH_MSG_GETTOCPATHS) + else if(nMsgId==WH_MSG_GETTOCPATHS) { - if (isOutMostTopic()) + if(isOutMostTopic()) { - oMsg.oParam.oTocInfo = createSyncInfo(); + oMsg.oParam.oTocInfo=createSyncInfo(); return false; } else return true; } - else if (nMsgId == WH_MSG_NEXT) + else if(nMsgId==WH_MSG_NEXT) { goAvenue(true); } - else if (nMsgId == WH_MSG_PREV) + else if(nMsgId==WH_MSG_PREV) { goAvenue(false); } - else if (nMsgId == WH_MSG_WEBSEARCH) + else if(nMsgId==WH_MSG_WEBSEARCH) { websearch(); } @@ -476,60 +476,60 @@ function onSendMessage(oMsg) function goAvenue(bNext) { - var sTopic = null; - var sAvenue = getCurrentAvenue(); - var nAvenue = -1; - if (sAvenue != null && sAvenue != "") + var sTopic=null; + var sAvenue=getCurrentAvenue(); + var nAvenue=-1; + if(sAvenue!=null&&sAvenue!="") { - for (var i = 0; i < gaAvenues.length ; i ++) + for(var i=0;i 0 && bNext) + if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext) { - sTopic = gaAvenues[i].sNext; + sTopic=gaAvenues[i].sNext; break; } - else if (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext) + else if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext) { - sTopic = gaAvenues[i].sPrev; + sTopic=gaAvenues[i].sPrev; break; } } } - if (sTopic != null && sTopic != "") + if(sTopic!=null&&sTopic!="") { - if (gsPPath != null && gsPPath != "") + if(gsPPath!=null&&gsPPath!="") { - sFullTopicPath = _getFullPath(gsPPath, sTopic); - document.location = sFullTopicPath; + sFullTopicPath=_getFullPath(gsPPath,sTopic); + document.location=sFullTopicPath; } } } function canGo(bNext) { - for (var i = 0; i < gaAvenues.length ; i ++) + for(var i=0;i 0 && bNext) || - (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext)) + if((gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext)|| + (gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext)) return true; } return false; @@ -537,34 +537,34 @@ function canGo(bNext) function show() { - if (gsStartPage != "") - window.location = gsStartPage + "#" + gsRelCurPagePath; + if(gsStartPage!="") + window.location=gsStartPage+"#"+gsRelCurPagePath; } function hide() { - if (goFrame != null) + if(goFrame!=null) { - goFrame.location = window.location; + goFrame.location=window.location; } } function isTopicOnly() { - if (gnTopicOnly == -1) + if(gnTopicOnly==-1) { - var oParam = new Object(); - oParam.oFrame = null; - var oMsg = new whMessage(WH_MSG_GETSTARTFRAME, this, 1, oParam); - if (SendMessage(oMsg)) + var oParam=new Object(); + oParam.oFrame=null; + var oMsg=new whMessage(WH_MSG_GETSTARTFRAME,this,1,oParam); + if(SendMessage(oMsg)) { - goFrame = oParam.oFrame; - gnTopicOnly = 0; + goFrame=oParam.oFrame; + gnTopicOnly=0; } else - gnTopicOnly = 1; + gnTopicOnly=1; } - if (gnTopicOnly == 1) + if(gnTopicOnly==1) return true; else return false; @@ -572,88 +572,150 @@ function isTopicOnly() function websearch() { - if (gbNav4) + if(gbNav4) { - if (document.ehelpform) + if(document.ehelpform) document.ehelpform.submit(); } else { - if (window.ehelpform) + if(window.ehelpform) window.ehelpform.submit(); } } function addSearchFormHref(sHref) { - gsSearchFormHref = sHref; + gsSearchFormHref=sHref; enableWebSearch(true); } function searchB(nForm) { - var sValue = eval("document.searchForm" + nForm + ".searchString.value"); - var oMsg = new whMessage(WH_MSG_SEARCHTHIS, this, 1, sValue); + var sValue=eval("document.searchForm"+nForm+".searchString.value"); + var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,sValue); SendMessage(oMsg); } function getSearchFormHTML() { - var sHTML = ""; - gnForm ++; - var sFormName = "searchForm" + gnForm; - var sButton = "
      " - sButton += ""; - if ("" == "text") + var sHTML=""; + gnForm++; + var sFormName="searchForm"+gnForm; + var sButton="" + sButton+=""; + if(""=="text") { - sButton+=""; + sButton+=""; } - else if ("" == "image") + else if(""=="image") { - sButton+="" + sButton+="" sButton+=""; } - sButton += "
      "; - sHTML ="" + sButton + ""; + sButton+=""; + sHTML=""+sButton+""; return sHTML; } function showHidePane(bShow) { var oMsg=null; - if (bShow) - oMsg=new whMessage(WH_MSG_SHOWPANE, this, 1, null); + if(bShow) + oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null); else - oMsg=new whMessage(WH_MSG_HIDEPANE, this, 1, null); + oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null); SendMessage(oMsg); } function isShowHideEnable() { - if (gbIE4) + if(gbIE4) return true; else return false; } + +function PickupDialog_Invoke() +{ + if(!gbIE4||gbMac) + { + if(typeof(_PopupMenu_Invoke)=="function") + return _PopupMenu_Invoke(PickupDialog_Invoke.arguments); + } + else + { + if(PickupDialog_Invoke.arguments.length>2) + { + var sPickup="whskin_pickup.htm"; + var sPickupPath=gsPPath+sPickup; + if(gbIE4) + { + var sFrame=PickupDialog_Invoke.arguments[1]; + var aTopics=new Array(); + for(var i=2;i1) + { + var nWidth=300; + var nHeight=180; + var nScreenWidth=screen.width; + var nScreenHeight=screen.height; + var nLeft=(nScreenWidth-nWidth)/2; + var nTop=(nScreenHeight-nHeight)/2; + if(gbIE4) + { + var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;"); + if(vRet) + { + var sURL=vRet.m_url; + if(sFrame) + window.open(sURL,sFrame); + else + window.open(sURL,"_self"); + } + } + } + else if(aTopics.length==1) + { + var sURL=aTopics[0].m_sURL + if(sFrame) + window.open(sURL,sFrame); + else + window.open(sURL,"_self"); + } + } + } + } +} + if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy) { - RegisterListener("bsscright", WH_MSG_GETAVIAVENUES); - RegisterListener("bsscright", WH_MSG_GETTOCPATHS); - RegisterListener("bsscright", WH_MSG_NEXT); - RegisterListener("bsscright", WH_MSG_PREV); - RegisterListener("bsscright", WH_MSG_WEBSEARCH); - if (gbMac && gbIE4) + RegisterListener("bsscright",WH_MSG_GETAVIAVENUES); + RegisterListener("bsscright",WH_MSG_GETTOCPATHS); + RegisterListener("bsscright",WH_MSG_NEXT); + RegisterListener("bsscright",WH_MSG_PREV); + RegisterListener("bsscright",WH_MSG_WEBSEARCH); + if(gbMac&&gbIE4) { - if (typeof(window.onunload) != "unknown") - whtopic_foldUnload = window.onunload; + if(typeof(window.onunload)!="unknown") + if(window.onunload.toString!=unRegisterListener.toString) + whtopic_foldUnload=window.onunload; } else { - if (window.onunload) - whtopic_foldUnload = window.onunload; + if(window.onunload) + if(window.onunload.toString!=unRegisterListener.toString) + whtopic_foldUnload=window.onunload; } - window.onunload = unRegisterListener; + window.onunload=unRegisterListener; setButtonFont("show","","10pt","","","",""); gbWhTopic=true; diff --git a/doc/salome/gui/GEOM/whutils.js b/doc/salome/gui/GEOM/whutils.js index 7fa6c28a8..85fae7e05 100755 --- a/doc/salome/gui/GEOM/whutils.js +++ b/doc/salome/gui/GEOM/whutils.js @@ -1,19 +1,26 @@ +// WebHelp 5.10.004 var gsFileName=""; +var gsDivName=""; var xmlDoc=null; var sdocPath=null; var gsInsertBeforeEndHTML=""; var sReplaceStringsSrc=new Array(); +var gsDivName="dataDiv"; +var gnLoadDivNum=0; sReplaceStringsSrc[0]="&"; sReplaceStringsSrc[1]=">"; sReplaceStringsSrc[2]="<"; sReplaceStringsSrc[3]="""; -sReplaceStringsSrc[4]=" "; +sReplaceStringsSrc[4]=String.fromCharCode(8364); +sReplaceStringsSrc[5]=" "; + var sReplaceStringsDst=new Array(); sReplaceStringsDst[0]="&"; sReplaceStringsDst[1]=">"; sReplaceStringsDst[2]="<"; sReplaceStringsDst[3]="\""; -sReplaceStringsDst[4]=" "; +sReplaceStringsDst[4]=String.fromCharCode(128); +sReplaceStringsDst[5]=" "; var goHighLighted=null; function _getRelativePath(strParentPath,strCurrentPath) @@ -45,7 +52,7 @@ function _getRelativePath(strParentPath,strCurrentPath) return strCurrentPath; } -function _getRelativeFileName(strParentPath, strCurrentPath) +function _getRelativeFileName(strParentPath,strCurrentPath) { strParentPath=_replaceSlash(strParentPath); strParentPath=_getPath(strParentPath); @@ -108,7 +115,7 @@ function _getFullPath(sPath,sRelPath) { sRelPath=sRelPath.substring(nPathPos+3); sFullPath=sFullPath.substring(0,sFullPath.length-1); - var nPos2 = sFullPath.lastIndexOf("/"); + var nPos2=sFullPath.lastIndexOf("/"); if(nPos2!=-1) sFullPath=sFullPath.substring(0,nPos2+1); else @@ -123,7 +130,7 @@ function _getFullPath(sPath,sRelPath) function _isAbsPath(strPath) { var strUpper=strPath.toUpperCase(); - return (strUpper.indexOf(":")!=-1); + return (strUpper.indexOf(":")!=-1||strUpper.indexOf("\\\\")==0); } function _replaceSlash(strURL) @@ -166,21 +173,29 @@ function insertItemIntoArray(oArray,i,obj) function loadData(sFileName) { - if(!getElement("dataDiv")) + var i=gnLoadDivNum; + var sName=gsDivName+gnLoadDivNum++; + loadData_2(sFileName,sName); +} + +function loadData_2(sFileName,sDivName) +{ + if(!getElement(sDivName)) { - if(!insertDataDiv()) + if(!insertDataDiv(sDivName)) { gsFileName=sFileName; + gsDivName=sDivName; return; } } var sHTML=""; if(gbMac) - sHTML+=""; + sHTML+=""; else - sHTML+=""; + sHTML+=""; - var oDivCon=getElement("dataDiv"); + var oDivCon=getElement(sDivName); if(oDivCon) { if(gbNav6) @@ -231,21 +246,21 @@ function checkState() if(state==4) { var err=xmlDoc.parseError; - if(err.errorCode!=0) - alert(err.reason); - else + if(err.errorCode==0) putDataXML(xmlDoc,sdocPath); + else + onLoadXMLError(); } } } -function insertDataDiv() +function insertDataDiv(sName) { var sHTML=""; if(gbMac) - sHTML+="
      "; + sHTML+="
      "; else - sHTML+="
      "; + sHTML+="
      "; if((gbIE5||gbNav6)&&document.body) document.body.insertAdjacentHTML("beforeEnd",sHTML); else @@ -264,7 +279,7 @@ function insertWhenBodyReady() { document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML); gsInsertBeforeEndHTML=""; - loadData(gsFileName); + loadData_2(gsFileName,gsDivName); } else { @@ -274,9 +289,12 @@ function insertWhenBodyReady() function window_BUnload() { - var oDivCon=getElement("dataDiv"); - if(oDivCon) - oDivCon.innerHTML=""; + for(var i=0;i='0'&&sBStr.charAt(i)<='9') + { + sNum+=sBStr.charAt(i++); + } + if(sNum!=""){ + var nNum=parseInt(sNum,16); + sText+=String.fromCharCode(nNum); + sBStr=sBStr.substring(i); + } + nPos=sBStr.indexOf('%'); + } + sText+=sBStr; + return sText; +} + +function excapeSingleQuotandSlash(str) +{ + if(str==null) return null; + var nPos=0; + var sRes=""; + var nPosNew=str.indexOf("\\",nPos); + while(nPosNew!=-1){ + sRes+=str.substring(nPos,nPosNew+1)+"\\"; + nPos=nPosNew+1; + nPosNew=str.indexOf("\\",nPos); + } + if(nPos=4) +if(!gbOpera&&!gbKonqueror&&!gbSafari) // opera can mimic IE or Netscape by settings. { - if(navigator.appName=="Netscape") + gbIE=(navigator.appName.indexOf("Microsoft")!=-1); + gbNav=(gAgent.indexOf('mozilla')!=-1) && ((gAgent.indexOf('spoofer')==-1) && (gAgent.indexOf('compatible')==-1)); + if(gnVerMajor>=4) { - gbNav4=true; - if(gnVerMajor>=5) - gbNav6=true; + if(navigator.appName=="Netscape") + { + gbNav4=true; + if(gnVerMajor>=5) + gbNav6=true; + } + gbIE4=(navigator.appName.indexOf("Microsoft")!=-1); + } + if(gbNav6) + { + var nPos=gAgent.indexOf("gecko"); + if(nPos!=-1) + { + var nPos2=gAgent.indexOf("/", nPos); + if(nPos2!=-1) + { + var nVersion=parseFloat(gAgent.substring(nPos2+1)); + if(nVersion>=20010726) + { + gbNav61=true; + if (nVersion>=20020823) + gbNav7=true; + } + } + } + }else if(gbIE4) + { + var nPos=gAgent.indexOf("msie"); + if(nPos!=-1) + { + var nVersion=parseFloat(gAgent.substring(nPos+5)); + if(nVersion>=5) + { + gbIE5=true; + if(nVersion>=5.5) + gbIE55=true; + } + } } - gbIE4=(navigator.appName.indexOf("Microsoft")!=-1); } -if(gbNav6) +else if (gbOpera) { - document.gnPageWidth=innerWidth; - document.gnPageHeight=innerHeight; - var nPos=gAgent.indexOf("netscape"); + var nPos = gAgent.indexOf("opera"); if(nPos!=-1) { - var nVersion=parseFloat(gAgent.substring(nPos+10)); - if(nVersion>=6.1) - gbNav61=true; + var nVersion=parseFloat(gAgent.substring(nPos+6)); + if(nVersion>=6) + { + gbOpera6=true; + if(nVersion>=7) + gbOpera7=true; + } } -}else if(gbIE4) +} +else if (gbKonqueror) { - var nPos=gAgent.indexOf("msie"); + var nPos = gAgent.indexOf("konqueror"); if(nPos!=-1) { - var nVersion=parseFloat(gAgent.substring(nPos+5)); - if(nVersion>=5) - gbIE5=true; - if(nVersion>=5.5) - gbIE55=true; + var nVersion = parseFloat(gAgent.substring(nPos+10)); + if (nVersion >= 3) + { + gbKonqueror3=true; + } } } diff --git a/doc/salome/gui/GEOM/whxdata/whftdata0.xml b/doc/salome/gui/GEOM/whxdata/whftdata0.xml new file mode 100755 index 000000000..9aad4e889 --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whftdata0.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whxdata/whfts.xml b/doc/salome/gui/GEOM/whxdata/whfts.xml new file mode 100755 index 000000000..1b9c3053b --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whfts.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whxdata/whfwdata0.xml b/doc/salome/gui/GEOM/whxdata/whfwdata0.xml new file mode 100755 index 000000000..51e07108d --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whfwdata0.xml @@ -0,0 +1,260 @@ + + + 1,12, + 1,15,3,4,7,5,11,12,13,10,9,16, + 3,10, + 3,11,12,13,10, + 14,1,15,3,4,5,11,12,13,10,9, + 3,4,7,5,12,10, + 3,11,12,13,10, + 13, + 15,3,4,11,12,13,10, + 3,4,6,7,5,11,12,10,9, + 3,10, + 13, + 14,15,4,12,10, + 15,7,12, + 14,12, + 12, + 12, + 15,12, + 15, + 15, + 15, + 3,12, + 12, + 12, + 12,16, + 12, + 16, + 12, + 7,5, + 10, + 10, + 14,15,8,12,13,16, + 7,13,10, + 15,7,12,13, + 4, + 12, + 3,12, + 10, + 13, + 12, + 12, + 15,3, + 10, + 14,1,15,3,4,7,5,11,12,13,10,9,16, + 7, + 6, + 6, + 14,3, + 6,12, + 3, + 3,7,11,13,9, + 3, + 7,11,12,13, + 7, + 7, + 2,15,3,5,10,9, + 9, + 15,12, + 14, + 3,12, + 14,0,10, + 2,4,5,9, + 6, + 9, + 12, + 12, + 9, + 14,1,15,3,4,8,7,5,11,12,13,10,9,16, + 2,8, + 3,6,8, + 12, + 12, + 14,0,2,5,10, + 3,12, + 14, + 2, + 3, + 14,3,12, + 15,3,11,13,9, + 13, + 11, + 10, + 1, + 12,10,9, + 12,13, + 9, + 6,8,10, + 3, + 1,6,8, + 5,12, + 12, + 12, + 12, + 12, + 1, + 14,1,15,3,4,6,8,7,5,11,12,13,10,9,16, + 4,12, + 2,4,7,10, + 15,3,13, + 14,9, + 14,4,5,12,13,10, + 7, + 10,9, + 11, + 9, + 8, + 12, + 5,10, + 12, + 14, + 14,5,11, + 2,4, + 3,11,12,13,10, + 15,8,12, + 8, + 12, + 12, + 12, + 12, + 12, + 12, + 15,3,11,13,9, + 13, + 11, + 12, + 3,7,5,11,12,10, + 15, + 14,15,3,6,7,5,11,12,13,10,9,16, + 16, + 2,7,12,10, + 15,6, + 15,3,7,12, + 12, + 12, + 12, + 4,12,10, + 11, + 12, + 10, + 10, + 9, + 15, + 15,3,11,12,13,10, + 12,9, + 7,12, + 10, + 15,7,12, + 10, + 10, + 10, + 8, + 14,1,15,3,4,6,7,5,11,12,13,10,9,16, + 12, + 2, + 15, + 12, + 12, + 11, + 14,1,15,3,4,8,7,5,11,12,13,10,9,16, + 6, + 1,6,11,9, + 7,11,10,9, + 13, + 13, + 13, + 15,3,7,11,13,10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 1,3,6,8,12,9, + 6, + 6, + 12,13,9, + 12, + 12, + 12,13, + 1,15, + 12, + 15,13, + 15,13, + 13, + 6, + 14, + 14, + 14, + 14, + 14,3,7,5,12,10, + 12, + 16, + 9, + 9, + 14, + 15,3,4,6,7,5,11,12,9, + 14, + 3, + 12, + 15,3,12,13, + 3,8, + 15,3,7,5,11,16, + 15, + 6, + 6, + 6, + 12, + 5,12, + 14,1,15,3,4,7,5,11,12,13,10,16, + 12, + 15,16, + 0,5,10, + 2,8, + 8, + 10, + 7, + 7, + 14, + 14, + 14, + 14, + 14, + 14, + 14,3,7,5,12,13,10, + 10, + 10, + 9, + 9, + 13, + 12, + 3, + 3,8,7, + 8, + 7,12, + 10, + 3,4,5,11,13,10, + 12, + 12, + 12, + 14,4,6,5, + 2,8, + 8, + 14, + 12, + 2,5, + 4, + 12, + 14, + 7, + 2,7, + 1,2,3,4,6,8,7,5,11,13,10,9, + 14,15,3,4,7,5,11,12,13,10,9,16, + 14, + 1,2,3,4,6,8,7,5,11,12,13,10,9,16, + 12, + + diff --git a/doc/salome/gui/GEOM/whxdata/whfwdata1.xml b/doc/salome/gui/GEOM/whxdata/whfwdata1.xml new file mode 100755 index 000000000..d2e772dad --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whfwdata1.xml @@ -0,0 +1,273 @@ + + + 14,15,3,4,8,7,5,11,12,13,10,9,16, + 4,5,9, + 12, + 16, + 5, + 1, + 3, + 3,5,12,13,10, + 12,10, + 6, + 9, + 16, + 10, + 3, + 5,12, + 7,11, + 14,10, + 14, + 6, + 12, + 12, + 6, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 1,6,5,12,10,16, + 5,12,10,9, + 2,8, + 13, + 2,6,8,9, + 8, + 13, + 12, + 4,6, + 10, + 9, + 13, + 9, + 9, + 12, + 10, + 10, + 10, + 12, + 10, + 14, + 12, + 10, + 10, + 14,2, + 12, + 12, + 12, + 1, + 1, + 7, + 12, + 9, + 9, + 9, + 14, + 13, + 3,5, + 3, + 3, + 15,12,9, + 12, + 10, + 15,3,10, + 15,3,7,5,12,10,16, + 10, + 12, + 5,12, + 10, + 10, + 10, + 3,5,12,10, + 10, + 10, + 12, + 15,3,13, + 3, + 3,8,13, + 15, + 15,12, + 0,3,4,6,7,5,11,12,10,9,16, + 16, + 3,11, + 13,10, + 3, + 3, + 10, + 4, + 11, + 9, + 10, + 10, + 3, + 5, + 11, + 11, + 5, + 3, + 5, + 7, + 10, + 12, + 14, + 14, + 3, + 3, + 3, + 13, + 13, + 13, + 10, + 10, + 13, + 13, + 13, + 10, + 7, + 3, + 3, + 13, + 7, + 14, + 14, + 14, + 7, + 13, + 13, + 12, + 5, + 15, + 5, + 11, + 11, + 13, + 3, + 3, + 5, + 3, + 9, + 10, + 9, + 7,12,10, + 7, + 7,12,10,9, + 12,10, + 10, + 12, + 12, + 15,13, + 9, + 9, + 14, + 0,1,3,4,6,8,7,5,11,12,10,9,16, + 12, + 14,10, + 10, + 5, + 3, + 7,10,9, + 7, + 9, + 7,10,9, + 10, + 10, + 3,11, + 13, + 1,12, + 2,10, + 3,12,13, + 12,13, + 13, + 2,6, + 9, + 13, + 0,13,10, + 12,13, + 14,3,4,8,7,5,11,12,13,10, + 7, + 12, + 13,10, + 13, + 13, + 10, + 10, + 15,6,12,9, + 12, + 13, + 12, + 15,3,7,5,11,12,16, + 3, + 12, + 3,7,13, + 14, + 1,7,12,13,10, + 10, + 10, + 1,2,3,4,6,8,7,5,11,12,13,10,9,16, + 1,6,12, + 12, + 13, + 3,8, + 15,3,4,6,12,13,10, + 12, + 12, + 14,2,4,6,7,12,13,10,16, + 12, + 11, + 2, + 0, + 12, + 14,3, + 3,11, + 12,13, + 10, + 15,3, + 3, + 15,3, + 3,5,12, + 1,15,3,7,12, + 12, + 4,11, + 10, + 3, + 7, + 7, + 13, + 10,16, + 15, + 7, + 15,3,13,10, + 15,3,5, + 10, + 14,15,3,11,12,13,9, + 3, + 3, + 3, + 9, + 3, + 1,6, + 3,12, + 12, + 6,12, + 12, + 15, + 3, + 3, + 15, + 2,11, + 7, + 12, + 12,10, + 12, + 1,9, + 10, + 9, + 14,3, + 12, + 15,3,11,10, + + diff --git a/doc/salome/gui/GEOM/whxdata/whfwdata2.xml b/doc/salome/gui/GEOM/whxdata/whfwdata2.xml new file mode 100755 index 000000000..055ba0c6d --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whfwdata2.xml @@ -0,0 +1,208 @@ + + + 3,11, + 11, + 11, + 3,11, + 3,11, + 2,12, + 12, + 6, + 10, + 3, + 3, + 15, + 12,13,16, + 16, + 10, + 2,12, + 13, + 3, + 5, + 6,8,12, + 12, + 12, + 15,12, + 12, + 14,15,3,4,7,5,11,12,13,10,9,16, + 12, + 5, + 5,10,9,16, + 13, + 7,12, + 1,6, + 7,13, + 13, + 3,5,12,13,10,16, + 2, + 15,12, + 12, + 13, + 8, + 8, + 4,11,13,10, + 4,10, + 15,12, + 0,1,15,3,4,6,8,7,5,11,12,10,9,16, + 15,3,10, + 10, + 3,7, + 1,3,12,13,10, + 1, + 1, + 1, + 12, + 6, + 1, + 1,2,4,6,8,7,5,12,13,10,9,16, + 4,9, + 4,9, + 12, + 10,16, + 5,13, + 14,7,5,13, + 1, + 12, + 3, + 3, + 13, + 14, + 3,12,10, + 15, + 3,12, + 14,7,5,11,13,10, + 3, + 3,9, + 3,12,10, + 14, + 12,13, + 11, + 3, + 12, + 12, + 12, + 12, + 12, + 14, + 8, + 15,3,13, + 14,2,8,13, + 13, + 13, + 15,8, + 12, + 6, + 5,12,16, + 0,5,12,9, + 5,10,16, + 5, + 16, + 12, + 12, + 12, + 12, + 12,13,9, + 12, + 12, + 13, + 11,13, + 3,13, + 14, + 15, + 15,10, + 14, + 13, + 12, + 13, + 15, + 12, + 13, + 12, + 13, + 12, + 7, + 7, + 7,12,9, + 12, + 12, + 9, + 11, + 4,13,10, + 0,2,13,10, + 13, + 13,10, + 1, + 3, + 3, + 12,10,9, + 14,1,15,3,4,6,8,7,5,11,12,13,10,9,16, + 9, + 14,4,11,12,13,10, + 15,4,5,11,12,10,9,16, + 5, + 12, + 1,6,11,10, + 3, + 14,2,15,3,4,6,7,5,12,13,10,9, + 14, + 14, + 14, + 14, + 12, + 9, + 9, + 1,15,3,7,11,12,13,10,9, + 12, + 15,3,7,11,13, + 3,7,5,11,12,13,9, + 5, + 5, + 9, + 9, + 14,3,5,11,12,13, + 1,3,6,12, + 6, + 6, + 1,6, + 9, + 6, + 15, + 5, + 10, + 10, + 10, + 9, + 12, + 5,9, + 2, + 3,8,12,13,10, + 14,7,5,12, + 1, + 1,12, + 15,3,6,12,16, + 15,3,9, + 11, + 11, + 3, + 3, + 3, + 9, + 9, + 15, + 3, + 15,3,9, + 11, + 11, + 3, + 3, + 3, + 9, + 9, + 8,12,9, + 3,10,9, + 11, + 11, + 9, + 9, + + diff --git a/doc/salome/gui/GEOM/whxdata/whgdata0.xml b/doc/salome/gui/GEOM/whxdata/whgdata0.xml new file mode 100755 index 000000000..0075ff8d5 --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whgdata0.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whxdata/whglo.xml b/doc/salome/gui/GEOM/whxdata/whglo.xml new file mode 100755 index 000000000..0f1cd68e5 --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whglo.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GEOM/whxdata/whidx.xml b/doc/salome/gui/GEOM/whxdata/whidx.xml new file mode 100755 index 000000000..ac66bb966 --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whidx.xml @@ -0,0 +1,4 @@ + + + + diff --git a/doc/salome/gui/GEOM/whxdata/whtdata0.xml b/doc/salome/gui/GEOM/whxdata/whtdata0.xml new file mode 100755 index 000000000..64917af4a --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whtdata0.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GEOM/whxdata/whtoc.xml b/doc/salome/gui/GEOM/whxdata/whtoc.xml new file mode 100755 index 000000000..a271ba7cc --- /dev/null +++ b/doc/salome/gui/GEOM/whxdata/whtoc.xml @@ -0,0 +1,4 @@ + + + + diff --git a/doc/salome/gui/GEOM/working_with_groups.htm b/doc/salome/gui/GEOM/working_with_groups.htm index 225597514..c5b89f8df 100755 --- a/doc/salome/gui/GEOM/working_with_groups.htm +++ b/doc/salome/gui/GEOM/working_with_groups.htm @@ -2,31 +2,11 @@ - - - - - Working with groups - - - - - - - - - - - - - - - - - - - - + - - - - - - -

      Working with groups

      @@ -131,10 +104,9 @@ else

       

      -

      TUI Command: - geompy.CreateGroup(MainShape, ShapeType), - where MainShape is a shape for which the group is created, ShapeType is - a type of shapes in the created group.

      +

      TUI Command: geompy.CreateGroup(MainShape, + ShapeType), where MainShape is a shape for which the group is created, + ShapeType is a type of shapes in the created group.

       

      @@ -177,8 +149,7 @@ else

       

      -

      TUI Command: -

      +

      TUI Command:

        @@ -218,5 +189,4 @@ if (window.writeIntopicBar) //--> - diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index d50c74abe..4f2c94f36 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -29,6 +29,9 @@ module GEOM { + interface GEOM_List + { }; + interface GEOM_Superv : Engines::Component,SALOMEDS::Driver { //-----------------------------------------------------------// @@ -36,6 +39,27 @@ module GEOM //-----------------------------------------------------------// void SetStudyID (in long theStudyID) ; + //-----------------------------------------------------------// + // Create ListOfGO and add items to it // + //-----------------------------------------------------------// + GEOM_List CreateListOfGO(); + void AddItemToListOfGO( inout GEOM_List theList, + in GEOM_Object theObject); + + //-----------------------------------------------------------// + // Create ListOfLong and add items to it // + //-----------------------------------------------------------// + GEOM_List CreateListOfLong(); + void AddItemToListOfLong( inout GEOM_List theList, + in long theObject); + + //-----------------------------------------------------------// + // Create ListOfDouble and add items to it // + //-----------------------------------------------------------// + GEOM_List CreateListOfDouble(); + void AddItemToListOfDouble( inout GEOM_List theList, + in double theObject); + //-----------------------------------------------------------// // Primitives Construction : BasicOperations // //-----------------------------------------------------------// @@ -61,9 +85,9 @@ module GEOM in double theTrimSize) ; GEOM_Object MakePlanePntVec (in GEOM_Object thePnt, in GEOM_Object theVec, - in double theTrimSize) ; + in double theTrimSize) ; GEOM_Object MakePlaneFace (in GEOM_Object theFace, - in double theTrimSize) ; + in double theTrimSize) ; GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ, in double theXDX, in double theXDY, in double theXDZ, in double theYDX, in double theYDY, in double theYDZ) ; @@ -84,8 +108,8 @@ module GEOM in GEOM_Object thePnt2) ; GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt, in GEOM_Object theAxis, - in double theRadius, - in double theHeight) ; + in double theRadius, + in double theHeight) ; GEOM_Object MakeCylinderRH (in double theR, in double theH) ; GEOM_Object MakeSphere (in double theX, @@ -94,18 +118,18 @@ module GEOM in double theRadius) ; GEOM_Object MakeSphereR (in double theR) ; GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, - in double theR) ; + in double theR) ; GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt, in GEOM_Object theVec, - in double theRMajor, - in double theRMinor) ; + in double theRMajor, + in double theRMinor) ; GEOM_Object MakeTorusRR (in double theRMajor, in double theRMinor) ; GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt, in GEOM_Object theAxis, - in double theR1, - in double theR2, - in double theHeight) ; + in double theR1, + in double theR2, + in double theHeight) ; GEOM_Object MakeConeR1R2H (in double theR1, in double theR2, in double theHeight) ; @@ -119,7 +143,7 @@ module GEOM in GEOM_Object thePath) ; GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase, in GEOM_Object theAxis, - in double theAngle) ; + in double theAngle) ; GEOM_Object MakeFilling (in GEOM_Object theShape, in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, @@ -130,16 +154,16 @@ module GEOM //-----------------------------------------------------------// GEOM_Object MakeBoolean (in GEOM_Object theShape1, in GEOM_Object theShape2, - in long theOperation) ; + in long theOperation) ; GEOM_Object MakeFuse (in GEOM_Object theShape1, in GEOM_Object theShape2) ; - GEOM_Object MakePartition (in ListOfGO theShapes, - in ListOfGO theTools, - in ListOfGO theKeepInside, - in ListOfGO theRemoveInside, - in short theLimit, - in boolean theRemoveWebs, - in ListOfLong theMaterials) ; + GEOM_Object MakePartition (in GEOM_List theShapes, + in GEOM_List theTools, + in GEOM_List theKeepInside, + in GEOM_List theRemoveInside, + in short theLimit, + in boolean theRemoveWebs, + in GEOM_List theMaterials) ; GEOM_Object MakeHalfPartition (in GEOM_Object theShape, in GEOM_Object thePlane) ; @@ -164,55 +188,65 @@ module GEOM in GEOM_Object thePoint1, in GEOM_Object thePoint2) ; GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject, - in double theDX, - in double theDY, - in double theDZ) ; + in double theDX, + in double theDY, + in double theDZ) ; GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject, - in double theDX, - in double theDY, - in double theDZ) ; + in double theDX, + in double theDY, + in double theDZ) ; GEOM_Object TranslateVector (in GEOM_Object theObject, in GEOM_Object theVector) ; GEOM_Object TranslateVectorCopy (in GEOM_Object theObject, in GEOM_Object theVector) ; GEOM_Object MultiTranslate1D (in GEOM_Object theObject, in GEOM_Object theVector, - in double theStep, - in long theNbTimes) ; + in double theStep, + in long theNbTimes) ; GEOM_Object MultiTranslate2D (in GEOM_Object theObject, in GEOM_Object theVector1, - in double theStep1, - in long theNbTimes1, + in double theStep1, + in long theNbTimes1, in GEOM_Object theVector2, - in double theStep2, - in long theNbTimes2) ; + in double theStep2, + in long theNbTimes2) ; GEOM_Object Rotate (in GEOM_Object theObject, in GEOM_Object theAxis, - in double theAngle) ; + in double theAngle) ; GEOM_Object RotateCopy (in GEOM_Object theObject, in GEOM_Object theAxis, - in double theAngle) ; + in double theAngle) ; GEOM_Object MultiRotate1D (in GEOM_Object theObject, in GEOM_Object theAxis, - in long theNbTimes) ; + in long theNbTimes) ; GEOM_Object MultiRotate2D (in GEOM_Object theObject, in GEOM_Object theAxis, - in double theAngle, - in long theNbTimes1, - in double theStep, - in long theNbTimes2) ; - GEOM_Object MirrorPlane (in GEOM_Object theObject, in GEOM_Object thePlane) ; - GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, in GEOM_Object thePlane) ; - GEOM_Object MirrorAxis (in GEOM_Object theObject, in GEOM_Object theAxis) ; - GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, in GEOM_Object theAxis) ; - GEOM_Object MirrorPoint (in GEOM_Object theObject, in GEOM_Object thePoint) ; - GEOM_Object MirrorPointCopy (in GEOM_Object theObject, in GEOM_Object thePoint) ; - GEOM_Object OffsetShape (in GEOM_Object theObject, in double theOffset) ; - GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, in double theOffset) ; - GEOM_Object ScaleShape (in GEOM_Object theObject, in GEOM_Object thePoint, - in double theFactor) ; - GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, in GEOM_Object thePoint, - in double theFactor) ; + in double theAngle, + in long theNbTimes1, + in double theStep, + in long theNbTimes2) ; + GEOM_Object MirrorPlane (in GEOM_Object theObject, + in GEOM_Object thePlane) ; + GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, + in GEOM_Object thePlane) ; + GEOM_Object MirrorAxis (in GEOM_Object theObject, + in GEOM_Object theAxis) ; + GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, + in GEOM_Object theAxis) ; + GEOM_Object MirrorPoint (in GEOM_Object theObject, + in GEOM_Object thePoint) ; + GEOM_Object MirrorPointCopy (in GEOM_Object theObject, + in GEOM_Object thePoint) ; + GEOM_Object OffsetShape (in GEOM_Object theObject, + in double theOffset) ; + GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, + in double theOffset) ; + GEOM_Object ScaleShape (in GEOM_Object theObject, + in GEOM_Object thePoint, + in double theFactor) ; + GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, + in GEOM_Object thePoint, + in double theFactor) ; GEOM_Object PositionShape (in GEOM_Object theObject, in GEOM_Object theStartLCS, in GEOM_Object theEndLCS) ; @@ -223,18 +257,22 @@ module GEOM //-----------------------------------------------------------// // ShapesOperations // //-----------------------------------------------------------// - GEOM_Object MakeEdge (in GEOM_Object thePnt1, in GEOM_Object thePnt2) ; - GEOM_Object MakeWire (in ListOfGO theEdgesAndWires) ; - GEOM_Object MakeFace (in GEOM_Object theWire, in boolean isPlanarWanted) ; - GEOM_Object MakeFaceWires (in ListOfGO theWires, in boolean isPlanarWanted) ; - GEOM_Object MakeShell (in ListOfGO theFacesAndShells) ; + GEOM_Object MakeEdge (in GEOM_Object thePnt1, + in GEOM_Object thePnt2) ; + GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ; + GEOM_Object MakeFace (in GEOM_Object theWire, + in boolean isPlanarWanted) ; + GEOM_Object MakeFaceWires (in GEOM_List theWires, + in boolean isPlanarWanted) ; + GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ; GEOM_Object MakeSolidShell (in GEOM_Object theShell) ; - GEOM_Object MakeSolidShells (in ListOfGO theShells) ; - GEOM_Object MakeCompound (in ListOfGO theShapes) ; - GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance) ; - ListOfGO MakeExplode (in GEOM_Object theShape, - in long theShapeType, - in boolean isSorted) ; + GEOM_Object MakeSolidShells (in GEOM_List theShells) ; + GEOM_Object MakeCompound (in GEOM_List theShapes) ; + GEOM_Object MakeGlueFaces (in GEOM_Object theShape, + in double theTolerance) ; + GEOM_List MakeExplode (in GEOM_Object theShape, + in long theShapeType, + in boolean isSorted) ; long NumberOfFaces (in GEOM_Object theShape) ; long NumberOfEdges (in GEOM_Object theShape) ; GEOM_Object ChangeOrientation (in GEOM_Object theShape) ; @@ -292,15 +330,15 @@ module GEOM out GEOM_IBlocksOperations::BCErrors theErrors) ; string PrintBCErrors (in GEOM_Object theCompound, in GEOM_IBlocksOperations::BCErrors theErrors) ; - ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound, - in long theMinNbFaces, - in long theMaxNbFaces) ; + GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound, + in long theMinNbFaces, + in long theMaxNbFaces) ; GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound, in GEOM_Object thePoint) ; GEOM_Object GetBlockByParts (in GEOM_Object theCompound, - in ListOfGO theParts) ; - ListOfGO GetBlocksByParts (in GEOM_Object theCompound, - in ListOfGO theParts) ; + in GEOM_List theParts) ; + GEOM_List GetBlocksByParts (in GEOM_Object theCompound, + in GEOM_List theParts) ; GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock, in long theDirFace1, in long theDirFace2, @@ -318,21 +356,22 @@ module GEOM //-----------------------------------------------------------// GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt, in GEOM_Object theVec, - in double theR) ; + in double theR) ; GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1, in GEOM_Object thePnt2, in GEOM_Object thePnt3) ; GEOM_Object MakeEllipse (in GEOM_Object thePnt, in GEOM_Object theVec, - in double theRMajor, - in double theRMinor) ; + in double theRMajor, + in double theRMinor) ; GEOM_Object MakeArc (in GEOM_Object thePnt1, in GEOM_Object thePnt2, in GEOM_Object thePnt3) ; - GEOM_Object MakePolyline (in ListOfGO thePoints) ; - GEOM_Object MakeSplineBezier (in ListOfGO thePoints) ; - GEOM_Object MakeSplineInterpolation (in ListOfGO thePoints) ; - GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane) ; + GEOM_Object MakePolyline (in GEOM_List thePoints) ; + GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ; + GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ; + GEOM_Object MakeSketcher (in string theCommand, + in GEOM_List theWorkingPlane) ; //-----------------------------------------------------------// // LocalOperations // @@ -341,10 +380,10 @@ module GEOM in double theR) ; GEOM_Object MakeFilletEdges (in GEOM_Object theShape, in double theR, - in ListOfLong theEdges) ; + in GEOM_List theEdges) ; GEOM_Object MakeFilletFaces (in GEOM_Object theShape, in double theR, - in ListOfLong theFaces) ; + in GEOM_List theFaces) ; GEOM_Object MakeChamferAll (in GEOM_Object theShape, in double theD) ; GEOM_Object MakeChamferEdge (in GEOM_Object theShape, @@ -352,22 +391,26 @@ module GEOM in long theFace1, in long theFace2) ; GEOM_Object MakeChamferFaces (in GEOM_Object theShape, in double theD1, in double theD2, - in ListOfLong theFaces) ; + in GEOM_List theFaces) ; GEOM_Object MakeArchimede (in GEOM_Object theShape, - in double theWeight, - in double theWaterDensity, - in double theMeshDeflection) ; - long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape) ; + in double theWeight, + in double theWaterDensity, + in double theMeshDeflection) ; + long GetSubShapeIndex (in GEOM_Object theShape, + in GEOM_Object theSubShape) ; //-----------------------------------------------------------// // GroupOperations // //-----------------------------------------------------------// - GEOM_Object CreateGroup (in GEOM_Object theMainShape, in long theShapeType) ; - void AddObject (in GEOM_Object theGroup, in long theSubShapeId) ; - void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId) ; + GEOM_Object CreateGroup (in GEOM_Object theMainShape, + in long theShapeType) ; + void AddObject (in GEOM_Object theGroup, + in long theSubShapeId) ; + void RemoveObject (in GEOM_Object theGroup, + in long theSubShapeId) ; long GetType (in GEOM_Object theGroup) ; GEOM_Object GetMainShape(in GEOM_Object theGroup) ; - ListOfLong GetObjects(in GEOM_Object theGroup) ; + GEOM_List GetObjects(in GEOM_Object theGroup) ; }; }; diff --git a/resources/GEOMCatalog.xml b/resources/GEOMCatalog.xml index 136e16d19..098676741 100644 --- a/resources/GEOMCatalog.xml +++ b/resources/GEOMCatalog.xml @@ -525,7 +525,7 @@ GEOM_Superv GEOM_Superv OTHER - asv + mkr 2.1.0 unknown 1 @@ -537,7 +537,7 @@ SetStudyID - asv + mkr 2.1.0 unknown 0 @@ -551,9 +551,138 @@ + + CreateListOfGO + mkr + 2.1.0 + unknown + 0 + + + + return + GEOM_List + unknown + + + + + + AddItemToListOfGO + mkr + 2.1.0 + unknown + 0 + + + theList + GEOM_List + unknown + + + theObject + GEOM_Object + unknown + + + + + theList + GEOM_List + unknown + + + + + + CreateListOfLong + mkr + 2.1.0 + unknown + 0 + + + + return + GEOM_List + unknown + + + + + + AddItemToListOfLong + mkr + 2.1.0 + unknown + 0 + + + theList + GEOM_List + unknown + + + theObject + long + unknown + + + + + theList + GEOM_List + unknown + + + + + + CreateListOfDouble + mkr + 2.1.0 + unknown + 0 + + + + return + GEOM_List + unknown + + + + + + AddItemToListOfDouble + mkr + 2.1.0 + unknown + 0 + + + theList + GEOM_List + unknown + + + theObject + double + unknown + + + + + theList + GEOM_List + unknown + + + + MakePointXYZ - asv + mkr 2.1.0 unknown 0 @@ -585,7 +714,7 @@ MakePointWithReference - asv + mkr 2.1.0 unknown 0 @@ -622,7 +751,7 @@ MakePointOnCurve - asv + mkr 2.1.0 unknown 0 @@ -649,7 +778,7 @@ MakeVectorDXDYDZ - asv + mkr 2.1.0 unknown 0 @@ -681,7 +810,7 @@ MakeVectorTwoPnt - asv + mkr 2.1.0 unknown 0 @@ -708,7 +837,7 @@ MakeLineTwoPnt - asv + mkr 2.1.0 unknown 0 @@ -735,7 +864,7 @@ MakePlaneThreePnt - asv + mkr 2.1.0 unknown 0 @@ -772,7 +901,7 @@ MakePlanePntVec - asv + mkr 2.1.0 unknown 0 @@ -804,7 +933,7 @@ MakePlaneFace - asv + mkr 2.1.0 unknown 0 @@ -831,7 +960,7 @@ MakeMarker - asv + mkr 2.1.0 unknown 0 @@ -893,7 +1022,7 @@ MakeBox - asv + mkr 2.1.0 unknown 0 @@ -940,7 +1069,7 @@ MakeBoxDXDYDZ - asv + mkr 2.1.0 unknown 0 @@ -972,7 +1101,7 @@ MakeBoxTwoPnt - asv + mkr 2.1.0 unknown 0 @@ -999,7 +1128,7 @@ MakeCylinderPntVecRH - asv + mkr 2.1.0 unknown 0 @@ -1036,7 +1165,7 @@ MakeCylinderRH - asv + mkr 2.1.0 unknown 0 @@ -1063,7 +1192,7 @@ MakeSphere - asv + mkr 2.1.0 unknown 0 @@ -1100,7 +1229,7 @@ MakeSphereR - asv + mkr 2.1.0 unknown 0 @@ -1122,7 +1251,7 @@ MakeSpherePntR - asv + mkr 2.1.0 unknown 0 @@ -1149,7 +1278,7 @@ MakeTorusPntVecRR - asv + mkr 2.1.0 unknown 0 @@ -1186,7 +1315,7 @@ MakeTorusRR - asv + mkr 2.1.0 unknown 0 @@ -1213,7 +1342,7 @@ MakeConePntVecR1R2H - asv + mkr 2.1.0 unknown 0 @@ -1255,7 +1384,7 @@ MakeConeR1R2H - asv + mkr 2.1.0 unknown 0 @@ -1287,7 +1416,7 @@ MakePrismVecH - asv + mkr 2.1.0 unknown 0 @@ -1319,7 +1448,7 @@ MakePrismTwoPnt - asv + mkr 2.1.0 unknown 0 @@ -1351,7 +1480,7 @@ MakePipe - asv + mkr 2.1.0 unknown 0 @@ -1378,7 +1507,7 @@ MakeRevolutionAxisAngle - asv + mkr 2.1.0 unknown 0 @@ -1410,7 +1539,7 @@ MakeFilling - asv + mkr 2.1.0 unknown 0 @@ -1457,7 +1586,7 @@ MakeBoolean - asv + mkr 2.1.0 unknown 0 @@ -1489,7 +1618,7 @@ MakeFuse - asv + mkr 2.1.0 unknown 0 @@ -1516,29 +1645,29 @@ MakePartition - asv + mkr 2.1.0 unknown 0 theShapes - ListOfGO + GEOM_List unknown theTools - ListOfGO + GEOM_List unknown theKeepInside - ListOfGO + GEOM_List unknown theRemoveInside - ListOfGO + GEOM_List unknown @@ -1553,7 +1682,7 @@ theMaterials - ListOfLong + GEOM_List unknown @@ -1568,7 +1697,7 @@ MakeHalfPartition - asv + mkr 2.1.0 unknown 0 @@ -1595,7 +1724,7 @@ MakeCopy - asv + mkr 2.1.0 unknown 0 @@ -1617,7 +1746,7 @@ Export - asv + mkr 2.1.0 unknown 0 @@ -1643,7 +1772,7 @@ Import - asv + mkr 2.1.0 unknown 0 @@ -1670,7 +1799,7 @@ ImportTranslators - asv + mkr 2.1.0 unknown 0 @@ -1691,7 +1820,7 @@ ExportTranslators - asv + mkr 2.1.0 unknown 0 @@ -1712,7 +1841,7 @@ TranslateTwoPoints - asv + mkr 2.1.0 unknown 0 @@ -1744,7 +1873,7 @@ TranslateTwoPointsCopy - asv + mkr 2.1.0 unknown 0 @@ -1776,7 +1905,7 @@ TranslateDXDYDZ - asv + mkr 2.1.0 unknown 0 @@ -1813,7 +1942,7 @@ TranslateDXDYDZCopy - asv + mkr 2.1.0 unknown 0 @@ -1850,7 +1979,7 @@ TranslateVector - asv + mkr 2.1.0 unknown 0 @@ -1877,7 +2006,7 @@ TranslateVectorCopy - asv + mkr 2.1.0 unknown 0 @@ -1904,7 +2033,7 @@ MultiTranslate1D - asv + mkr 2.1.0 unknown 0 @@ -1941,7 +2070,7 @@ MultiTranslate2D - asv + mkr 2.1.0 unknown 0 @@ -1993,7 +2122,7 @@ Rotate - asv + mkr 2.1.0 unknown 0 @@ -2025,7 +2154,7 @@ RotateCopy - asv + mkr 2.1.0 unknown 0 @@ -2057,7 +2186,7 @@ MultiRotate1D - asv + mkr 2.1.0 unknown 0 @@ -2089,7 +2218,7 @@ MultiRotate2D - asv + mkr 2.1.0 unknown 0 @@ -2136,7 +2265,7 @@ MirrorPlane - asv + mkr 2.1.0 unknown 0 @@ -2163,7 +2292,7 @@ MirrorPlaneCopy - asv + mkr 2.1.0 unknown 0 @@ -2190,7 +2319,7 @@ MirrorAxis - asv + mkr 2.1.0 unknown 0 @@ -2217,7 +2346,7 @@ MirrorAxisCopy - asv + mkr 2.1.0 unknown 0 @@ -2244,7 +2373,7 @@ MirrorPoint - asv + mkr 2.1.0 unknown 0 @@ -2271,7 +2400,7 @@ MirrorPointCopy - asv + mkr 2.1.0 unknown 0 @@ -2298,7 +2427,7 @@ OffsetShape - asv + mkr 2.1.0 unknown 0 @@ -2325,7 +2454,7 @@ OffsetShapeCopy - asv + mkr 2.1.0 unknown 0 @@ -2352,7 +2481,7 @@ ScaleShape - asv + mkr 2.1.0 unknown 0 @@ -2384,7 +2513,7 @@ ScaleShapeCopy - asv + mkr 2.1.0 unknown 0 @@ -2416,7 +2545,7 @@ PositionShape - asv + mkr 2.1.0 unknown 0 @@ -2448,7 +2577,7 @@ PositionShapeCopy - asv + mkr 2.1.0 unknown 0 @@ -2480,7 +2609,7 @@ MakeEdge - asv + mkr 2.1.0 unknown 0 @@ -2507,14 +2636,14 @@ MakeWire - asv + mkr 2.1.0 unknown 0 theEdgesAndWires - ListOfGO + GEOM_List unknown @@ -2529,7 +2658,7 @@ MakeFace - asv + mkr 2.1.0 unknown 0 @@ -2556,14 +2685,14 @@ MakeFaceWires - asv + mkr 2.1.0 unknown 0 theWires - ListOfGO + GEOM_List unknown @@ -2583,14 +2712,14 @@ MakeShell - asv + mkr 2.1.0 unknown 0 theFacesAndShells - ListOfGO + GEOM_List unknown @@ -2605,7 +2734,7 @@ MakeSolidShell - asv + mkr 2.1.0 unknown 0 @@ -2627,14 +2756,14 @@ MakeSolidShells - asv + mkr 2.1.0 unknown 0 theShells - ListOfGO + GEOM_List unknown @@ -2649,14 +2778,14 @@ MakeCompound - asv + mkr 2.1.0 unknown 0 theShapes - ListOfGO + GEOM_List unknown @@ -2671,7 +2800,7 @@ MakeGlueFaces - asv + mkr 2.1.0 unknown 0 @@ -2698,7 +2827,7 @@ MakeExplode - asv + mkr 2.1.0 unknown 0 @@ -2722,7 +2851,7 @@ return - ListOfGO + GEOM_List unknown @@ -2730,7 +2859,7 @@ NumberOfFaces - asv + mkr 2.1.0 unknown 0 @@ -2752,7 +2881,7 @@ NumberOfEdges - asv + mkr 2.1.0 unknown 0 @@ -2774,7 +2903,7 @@ ChangeOrientation - asv + mkr 2.1.0 unknown 0 @@ -2796,7 +2925,7 @@ MakeQuad4Vertices - asv + mkr 2.1.0 unknown 0 @@ -2833,7 +2962,7 @@ MakeQuad - asv + mkr 2.1.0 unknown 0 @@ -2870,7 +2999,7 @@ MakeQuad2Edges - asv + mkr 2.1.0 unknown 0 @@ -2897,7 +3026,7 @@ MakeHexa - asv + mkr 2.1.0 unknown 0 @@ -2944,7 +3073,7 @@ MakeHexa2Faces - asv + mkr 2.1.0 unknown 0 @@ -2971,7 +3100,7 @@ GetPoint - asv + mkr 2.1.0 unknown 0 @@ -3013,7 +3142,7 @@ GetEdge - asv + mkr 2.1.0 unknown 0 @@ -3045,7 +3174,7 @@ GetEdgeNearPoint - asv + mkr 2.1.0 unknown 0 @@ -3072,7 +3201,7 @@ GetFaceByPoints - asv + mkr 2.1.0 unknown 0 @@ -3114,7 +3243,7 @@ GetFaceByEdges - asv + mkr 2.1.0 unknown 0 @@ -3146,7 +3275,7 @@ GetOppositeFace - asv + mkr 2.1.0 unknown 0 @@ -3173,7 +3302,7 @@ GetFaceNearPoint - asv + mkr 2.1.0 unknown 0 @@ -3200,7 +3329,7 @@ GetFaceByNormale - asv + mkr 2.1.0 unknown 0 @@ -3227,7 +3356,7 @@ IsCompoundOfBlocks - asv + mkr 2.1.0 unknown 0 @@ -3264,7 +3393,7 @@ CheckCompoundOfBlocks - asv + mkr 2.1.0 unknown 0 @@ -3291,7 +3420,7 @@ PrintBCErrors - asv + mkr 2.1.0 unknown 0 @@ -3318,7 +3447,7 @@ ExplodeCompoundOfBlocks - asv + mkr 2.1.0 unknown 0 @@ -3342,7 +3471,7 @@ return - ListOfGO + GEOM_List unknown @@ -3350,7 +3479,7 @@ GetBlockNearPoint - asv + mkr 2.1.0 unknown 0 @@ -3377,7 +3506,7 @@ GetBlockByParts - asv + mkr 2.1.0 unknown 0 @@ -3389,7 +3518,7 @@ theParts - ListOfGO + GEOM_List unknown @@ -3404,7 +3533,7 @@ GetBlocksByParts - asv + mkr 2.1.0 unknown 0 @@ -3416,14 +3545,14 @@ theParts - ListOfGO + GEOM_List unknown return - ListOfGO + GEOM_List unknown @@ -3431,7 +3560,7 @@ MakeMultiTransformation1D - asv + mkr 2.1.0 unknown 0 @@ -3468,7 +3597,7 @@ MakeMultiTransformation2D - asv + mkr 2.1.0 unknown 0 @@ -3520,7 +3649,7 @@ MakeCirclePntVecR - asv + mkr 2.1.0 unknown 0 @@ -3552,7 +3681,7 @@ MakeCircleThreePnt - asv + mkr 2.1.0 unknown 0 @@ -3584,7 +3713,7 @@ MakeEllipse - asv + mkr 2.1.0 unknown 0 @@ -3621,7 +3750,7 @@ MakeArc - asv + mkr 2.1.0 unknown 0 @@ -3653,14 +3782,14 @@ MakePolyline - asv + mkr 2.1.0 unknown 0 thePoints - ListOfGO + GEOM_List unknown @@ -3675,14 +3804,14 @@ MakeSplineBezier - asv + mkr 2.1.0 unknown 0 thePoints - ListOfGO + GEOM_List unknown @@ -3697,14 +3826,14 @@ MakeSplineInterpolation - asv + mkr 2.1.0 unknown 0 thePoints - ListOfGO + GEOM_List unknown @@ -3719,7 +3848,7 @@ MakeSketcher - asv + mkr 2.1.0 unknown 0 @@ -3731,7 +3860,7 @@ theWorkingPlane - ListOfDouble + GEOM_List unknown @@ -3746,7 +3875,7 @@ MakeFilletAll - asv + mkr 2.1.0 unknown 0 @@ -3773,7 +3902,7 @@ MakeFilletEdges - asv + mkr 2.1.0 unknown 0 @@ -3790,7 +3919,7 @@ theEdges - ListOfLong + GEOM_List unknown @@ -3805,7 +3934,7 @@ MakeFilletFaces - asv + mkr 2.1.0 unknown 0 @@ -3822,7 +3951,7 @@ theFaces - ListOfLong + GEOM_List unknown @@ -3837,7 +3966,7 @@ MakeChamferAll - asv + mkr 2.1.0 unknown 0 @@ -3864,7 +3993,7 @@ MakeChamferEdge - asv + mkr 2.1.0 unknown 0 @@ -3906,7 +4035,7 @@ MakeChamferFaces - asv + mkr 2.1.0 unknown 0 @@ -3928,7 +4057,7 @@ theFaces - ListOfLong + GEOM_List unknown @@ -3943,7 +4072,7 @@ MakeArchimede - asv + mkr 2.1.0 unknown 0 @@ -3980,7 +4109,7 @@ GetSubShapeIndex - asv + mkr 2.1.0 unknown 0 @@ -4007,7 +4136,7 @@ CreateGroup - asv + mkr 2.1.0 unknown 0 @@ -4034,7 +4163,7 @@ AddObject - asv + mkr 2.1.0 unknown 0 @@ -4055,7 +4184,7 @@ RemoveObject - asv + mkr 2.1.0 unknown 0 @@ -4076,7 +4205,7 @@ GetType - asv + mkr 2.1.0 unknown 0 @@ -4098,7 +4227,7 @@ GetMainShape - asv + mkr 2.1.0 unknown 0 @@ -4120,7 +4249,7 @@ GetObjects - asv + mkr 2.1.0 unknown 0 @@ -4134,7 +4263,7 @@ return - ListOfLong + GEOM_List unknown diff --git a/src/BasicGUI/BasicGUI_MarkerDlg.cxx b/src/BasicGUI/BasicGUI_MarkerDlg.cxx index c73f91728..6f313f677 100644 --- a/src/BasicGUI/BasicGUI_MarkerDlg.cxx +++ b/src/BasicGUI/BasicGUI_MarkerDlg.cxx @@ -585,7 +585,12 @@ bool BasicGUI_MarkerDlg::isValid( QString& msg ) const int id = getConstructorId(); gp_Vec v1( myData[ DX1 ]->GetValue(), myData[ DY1 ]->GetValue(), myData[ DZ1 ]->GetValue() ), v2( myData[ DX2 ]->GetValue(), myData[ DY2 ]->GetValue(), myData[ DZ2 ]->GetValue() ); - bool isOrthogonal = v1.IsNormal( v2, Precision::Confusion() ); + + bool isOrthogonal = false; + // we will got exception if the magnitude of any of the 2 vectors <= gp::Resolution() + if ( v1.Magnitude() > gp::Resolution() && v2.Magnitude() > gp::Resolution() ) + isOrthogonal = v1.IsNormal( v2, Precision::Confusion() ); + switch ( id ) { case 0: diff --git a/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx b/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx index be34aa116..30a03c621 100644 --- a/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx @@ -315,9 +315,12 @@ void BlocksGUI_ExplodeDlg::activateSelection() erasePreview(true); if (isAllSubShapes()) { // Sub-shapes selection disabled + disconnect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); globalSelection( GEOM_ALLSHAPES ); - SelectionIntoArgument(); - + if (myObject->_is_nil()) { + SelectionIntoArgument(); + } + connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); } else { displayPreview(true, true, false); globalSelection(GEOM_PREVIEW); diff --git a/src/GEOMAlgo/GEOMAlgo.cdl b/src/GEOMAlgo/GEOMAlgo.cdl new file mode 100755 index 000000000..266dee921 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo.cdl @@ -0,0 +1,44 @@ +-- File: GEOMAlgo.cdl +-- Created: Sat Dec 04 12:36:22 2004 +-- Author: Peter KURNEV +-- +---Copyright: Matra Datavision 2004 + + +package GEOMAlgo + + ---Purpose: + +uses + TCollection, + TColStd, + Bnd, + gp, + TopAbs, + TopoDS, + TopTools, + IntTools + +is + deferred class Algo; + deferred class ShapeAlgo; + class Gluer; + class PassKey; + class PassKeyMapHasher; + class Tools; + + class IndexedDataMapOfPassKeyListOfShape + instantiates IndexedDataMap from TCollection (PassKey from GEOMAlgo, + ListOfShape from TopTools, + PassKeyMapHasher from GEOMAlgo); + + class IndexedDataMapOfShapeBox + instantiates IndexedDataMap from TCollection (Shape from TopoDS, + Box from Bnd, + ShapeMapHasher from TopTools); + class IndexedDataMapOfIntegerShape + instantiates IndexedDataMap from TCollection (Integer from Standard, + Shape from TopoDS, + MapIntegerHasher from TColStd); + +end GEOMAlgo; diff --git a/src/GEOMAlgo/GEOMAlgo_Algo.cdl b/src/GEOMAlgo/GEOMAlgo_Algo.cdl new file mode 100755 index 000000000..ea2724eb7 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Algo.cdl @@ -0,0 +1,39 @@ +-- File: GEOMAlgo_Algo.cdl +-- Created: Sat Dec 04 12:37:56 2004 +-- Author: Peter KURNEV +-- +---Copyright: Matra Datavision 2004 + + +deferred class Algo from GEOMAlgo + + ---Purpose: + +--uses +--raises + +is + Initialize + returns Algo from GEOMAlgo; + ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_Algo();" + + Perform(me:out) + is deferred; + + CheckData(me:out) + is deferred protected; + + CheckResult(me:out) + is deferred protected; + + ErrorStatus (me) + returns Integer from Standard; + + WarningStatus (me) + returns Integer from Standard; + +fields + myErrorStatus : Integer from Standard is protected; + myWarningStatus : Integer from Standard is protected; + +end Algo; diff --git a/src/GEOMAlgo/GEOMAlgo_Algo.cxx b/src/GEOMAlgo/GEOMAlgo_Algo.cxx new file mode 100755 index 000000000..345c08b91 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Algo.cxx @@ -0,0 +1,43 @@ +// File: GEOMAlgo_Algo.cxx +// Created: Sat Dec 04 12:39:47 2004 +// Author: Peter KURNEV +// + + +#include + +//======================================================================= +// function: +// purpose: +//======================================================================= + GEOMAlgo_Algo::GEOMAlgo_Algo() +: + myErrorStatus(1), + myWarningStatus(0) +{} +//======================================================================= +// function: ~ +// purpose: +//======================================================================= + GEOMAlgo_Algo::~GEOMAlgo_Algo() +{ +} +//======================================================================= +// function: ErrorStatus +// purpose: +//======================================================================= + Standard_Integer GEOMAlgo_Algo::ErrorStatus()const +{ + return myErrorStatus; +} +//======================================================================= +// function: WarningStatus +// purpose: +//======================================================================= + Standard_Integer GEOMAlgo_Algo::WarningStatus()const +{ + return myWarningStatus; +} +// myErrorStatus +// +// 1 - object is just initialized diff --git a/src/GEOMAlgo/GEOMAlgo_Algo.hxx b/src/GEOMAlgo/GEOMAlgo_Algo.hxx new file mode 100644 index 000000000..3d1a8b285 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Algo.hxx @@ -0,0 +1,99 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_Algo_HeaderFile +#define _GEOMAlgo_Algo_HeaderFile + +#ifndef _Standard_Integer_HeaderFile +#include +#endif + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_Algo { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT virtual void Perform() = 0; +Standard_EXPORT Standard_Integer ErrorStatus() const; +Standard_EXPORT Standard_Integer WarningStatus() const; + + + + + +protected: + + // Methods PROTECTED + // +Standard_EXPORT GEOMAlgo_Algo(); +Standard_EXPORT virtual ~GEOMAlgo_Algo(); +Standard_EXPORT virtual void CheckData() = 0; +Standard_EXPORT virtual void CheckResult() = 0; + + + // Fields PROTECTED + // +Standard_Integer myErrorStatus; +Standard_Integer myWarningStatus; + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_Algo.ixx b/src/GEOMAlgo/GEOMAlgo_Algo.ixx new file mode 100644 index 000000000..ae1ccb962 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Algo.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_Algo.jxx b/src/GEOMAlgo/GEOMAlgo_Algo.jxx new file mode 100644 index 000000000..3e8407ff2 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Algo.jxx @@ -0,0 +1,3 @@ +#ifndef _GEOMAlgo_Algo_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer.cdl b/src/GEOMAlgo/GEOMAlgo_Gluer.cdl new file mode 100755 index 000000000..84656b54a --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Gluer.cdl @@ -0,0 +1,113 @@ +-- File: GEOMAlgo_Gluer.cdl +-- Created: Sat Dec 04 12:41:32 2004 +-- Author: Peter KURNEV +-- +---Copyright: Matra Datavision 2004 + + +class Gluer from GEOMAlgo + inherits ShapeAlgo from GEOMAlgo + + ---Purpose: + +uses + ShapeEnum from TopAbs, + Shape from TopoDS, + Edge from TopoDS, + Face from TopoDS, + DataMapOfShapeShape from TopTools, + DataMapOfShapeListOfShape from TopTools, + Context from IntTools, + PassKey from GEOMAlgo +--raises + +is + Create + returns Gluer from GEOMAlgo; + ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_Gluer();" + + SetCheckGeometry (me:out; + aFlag:Boolean from Standard); + + CheckGeometry (me) + returns Boolean from Standard; + + Perform(me:out) + is redefined; + + CheckData(me:out) + is redefined protected; + + CheckResult (me:out) + is redefined protected; + + BuildResult (me:out) + is protected; + + MakeVertices(me:out) + is protected; + + MakeEdges(me:out) + is protected; + + MakeFaces(me:out) + is protected; + + MakeShapes(me:out; + aType:ShapeEnum from TopAbs) + is protected; + + MakeShells(me:out) + is protected; + + MakeSolids(me:out) + is protected; + + InnerTolerance(me:out) + is protected; + + EdgePassKey(me:out; + aE:Edge from TopoDS; + aPK:out PassKey from GEOMAlgo) + is protected; + + FacePassKey(me:out; + aF:Face from TopoDS; + aPK:out PassKey from GEOMAlgo) + is protected; + + MakeEdge(me:out; + aEdge : Edge from TopoDS; + aNewEdge: out Edge from TopoDS) + is protected; + + MakeFace(me:out; + aFace : Face from TopoDS; + aNewEdge: out Face from TopoDS) + is protected; + + IsToReverse(me:out; + aFR : Face from TopoDS; + aF : Face from TopoDS) + returns Boolean from Standard + is protected; +-- + Images(me) + returns DataMapOfShapeListOfShape from TopTools; + ---C++:return const & + + Origins(me) + returns DataMapOfShapeShape from TopTools; + ---C++:return const & + +fields + + myCheckGeometry : Boolean from Standard is protected; + + myImages : DataMapOfShapeListOfShape from TopTools is protected; + myOrigins : DataMapOfShapeShape from TopTools is protected; + myContext : Context from IntTools is protected; + myTypeResult: ShapeEnum from TopAbs is protected; + myTol : Real from Standard is protected; + +end Gluer; diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer.cxx b/src/GEOMAlgo/GEOMAlgo_Gluer.cxx new file mode 100755 index 000000000..ad1a7c79c --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Gluer.cxx @@ -0,0 +1,828 @@ +// File: GEOMAlgo_Gluer.cxx +// Created: Sat Dec 04 12:45:53 2004 +// Author: Peter KURNEV +// + + +#include + +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +//======================================================================= +//function : GEOMAlgo_Gluer +//purpose : +//======================================================================= +GEOMAlgo_Gluer::GEOMAlgo_Gluer() +: + GEOMAlgo_ShapeAlgo() +{ + myTolerance=0.0001; + myTol=myTolerance; + myCheckGeometry=Standard_True; + myTypeResult=TopAbs_SOLID; +} +//======================================================================= +//function : ~GEOMAlgo_Gluer +//purpose : +//======================================================================= +GEOMAlgo_Gluer::~GEOMAlgo_Gluer() +{ +} +//======================================================================= +//function : SetCheckGeometry +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::SetCheckGeometry(const Standard_Boolean aFlag) +{ + myCheckGeometry=aFlag; +} +//======================================================================= +//function : CheckGeometry +//purpose : +//======================================================================= +Standard_Boolean GEOMAlgo_Gluer::CheckGeometry() const +{ + return myCheckGeometry; +} + +//======================================================================= +//function : Images +//purpose : +//======================================================================= +const TopTools_DataMapOfShapeListOfShape& GEOMAlgo_Gluer::Images()const +{ + return myImages; +} +//======================================================================= +//function : Origins +//purpose : +//======================================================================= +const TopTools_DataMapOfShapeShape& GEOMAlgo_Gluer::Origins()const +{ + return myOrigins; +} +//======================================================================= +//function : Perform +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::Perform() +{ + myErrorStatus=0; + myWarningStatus=0; + // + Standard_Integer i; + const Standard_Integer aNb=9; + void (GEOMAlgo_Gluer::* pF[aNb])()={ + &GEOMAlgo_Gluer::CheckData, &GEOMAlgo_Gluer::InnerTolerance, + &GEOMAlgo_Gluer::MakeVertices, &GEOMAlgo_Gluer::MakeEdges, + &GEOMAlgo_Gluer::MakeFaces, &GEOMAlgo_Gluer::MakeShells, + &GEOMAlgo_Gluer::MakeSolids, &GEOMAlgo_Gluer::BuildResult, + &GEOMAlgo_Gluer::CheckResult + }; + // + //TimeReset(); + //StartChrono(); + // + for (i=0; i*pF[i])(); + if (myErrorStatus) { + return; + } + } + // + //StopChrono(); + //TimeShow(); +} +//======================================================================= +//function : CheckResult +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::CheckResult() +{ + myErrorStatus=0; + // + if (myResult.IsNull()) { + myErrorStatus=6; + return; + } + // + Standard_Boolean bFound; + Standard_Integer i, j, aNbS, aNbFS, aNbSx; + TopTools_IndexedMapOfShape aMS, aMFS; + TopTools_IndexedDataMapOfShapeListOfShape aMFR; + // + TopExp::MapShapesAndAncestors(myResult, TopAbs_FACE, myTypeResult, aMFR); + TopExp::MapShapes(myResult, myTypeResult, aMS); + // + aNbS=aMS.Extent(); + for (i=1; i<=aNbS; ++i) { + const TopoDS_Shape& aSolid=aMS(i); + // + aMFS.Clear(); + TopExp::MapShapes(aSolid, TopAbs_FACE, aMFS); + // + bFound=Standard_False; + aNbFS=aMFS.Extent(); + for (j=1; j<=aNbFS; ++j) { + const TopoDS_Shape& aFS=aMFS(j); + if (aMFR.Contains(aFS)) { + const TopTools_ListOfShape& aLSx=aMFR.FindFromKey(aFS); + aNbSx=aLSx.Extent(); + if (aNbSx==2) { + bFound=!bFound; + break; + } + } + } + // + if (!bFound) { + myWarningStatus=1; + break; + } + } +} +//======================================================================= +//function : CheckData +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::CheckData() +{ + myErrorStatus=0; + // + if (myShape.IsNull()) { + myErrorStatus=5; + return; + } + +} +//======================================================================= +//function : InnerTolerance +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::InnerTolerance() +{ + myErrorStatus=0; + // + Standard_Integer i; + Standard_Real aX[3][2], dH, dHmin, aCoef, aTolTresh; + Bnd_Box aBox; + // + BRepBndLib::Add(myShape, aBox); + aBox.Get(aX[0][0], aX[1][0], aX[2][0], aX[0][1], aX[1][1], aX[2][1]); + // + dHmin=aX[0][1]-aX[0][0]; + for (i=1; i<3; ++i) { + dH=aX[i][1]-aX[i][0]; + if (dHaTolTresh) { + myTol=aTolTresh; + } +} +//======================================================================= +//function : MakeSolids +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeSolids() +{ + myErrorStatus=0; + // + Standard_Integer i, aNbS; + TopAbs_Orientation anOr; + TopoDS_Solid aNewSolid; + TopTools_IndexedMapOfShape aMS; + TopExp_Explorer aExp; + BRep_Builder aBB; + // + TopExp::MapShapes(myShape, TopAbs_SOLID, aMS); + aNbS=aMS.Extent(); + for (i=1; i<=aNbS; ++i) { + const TopoDS_Solid& aSolid=TopoDS::Solid(aMS(i)); + anOr=aSolid.Orientation(); + // + aBB.MakeSolid(aNewSolid); + aNewSolid.Orientation(anOr); + // + aExp.Init(aSolid, TopAbs_SHELL); + for (; aExp.More(); aExp.Next()) { + const TopoDS_Shape& aShell=aExp.Current(); + const TopoDS_Shape& aShellR=myOrigins.Find(aShell); + aBB.Add(aNewSolid, aShellR); + } + TopTools_ListOfShape aLS; + // + aLS.Append(aSolid); + myImages.Bind(aNewSolid, aLS); + myOrigins.Bind(aSolid, aNewSolid); + } +} +//======================================================================= +//function : MakeShells +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeShells() +{ + myErrorStatus=0; + // + Standard_Boolean bIsToReverse; + Standard_Integer i, aNbS; + TopAbs_Orientation anOr; + TopoDS_Shell aNewShell; + TopoDS_Face aFR; + TopTools_IndexedMapOfShape aMS; + TopExp_Explorer aExp; + BRep_Builder aBB; + // + TopExp::MapShapes(myShape, TopAbs_SHELL, aMS); + // + aNbS=aMS.Extent(); + for (i=1; i<=aNbS; ++i) { + const TopoDS_Shell& aShell=TopoDS::Shell(aMS(i)); + anOr=aShell.Orientation(); + // + aBB.MakeShell(aNewShell); + aNewShell.Orientation(anOr); + aExp.Init(aShell, TopAbs_FACE); + for (; aExp.More(); aExp.Next()) { + const TopoDS_Face& aF=TopoDS::Face(aExp.Current()); + aFR=TopoDS::Face(myOrigins.Find(aF)); + if (aFR.IsSame(aF)) { + aBB.Add(aNewShell, aF); + continue; + } + bIsToReverse=IsToReverse(aFR, aF); + if (bIsToReverse) { + aFR.Reverse(); + } + aBB.Add(aNewShell, aFR); + } + // + TopTools_ListOfShape aLS; + // + aLS.Append(aShell); + myImages.Bind(aNewShell, aLS); + myOrigins.Bind(aShell, aNewShell); + } +} +//======================================================================= +//function : MakeFaces +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeFaces() +{ + MakeShapes(TopAbs_FACE); +} +//======================================================================= +//function : MakeEdges +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeEdges() +{ + MakeShapes(TopAbs_EDGE); +} +//======================================================================= +//function : MakeShapes +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeShapes(const TopAbs_ShapeEnum aType) +{ + myErrorStatus=0; + // + Standard_Integer i, aNbF, aNbSDF, iErr; + TopoDS_Shape aNewShape; + TopTools_IndexedMapOfShape aMF; + TopTools_ListIteratorOfListOfShape aItS; + GEOMAlgo_PassKey aPKF; + GEOMAlgo_IndexedDataMapOfPassKeyListOfShape aMPKLF; + // + TopExp::MapShapes(myShape, aType, aMF); + // + aNbF=aMF.Extent(); + for (i=1; i<=aNbF; ++i) { + const TopoDS_Shape& aS=aMF(i); + // + aPKF.Clear(); + if (aType==TopAbs_FACE) { + const TopoDS_Face& aF=TopoDS::Face(aS); + FacePassKey(aF, aPKF); + } + else if (aType==TopAbs_EDGE) { + const TopoDS_Edge& aE=TopoDS::Edge(aS); + EdgePassKey(aE, aPKF); + } + // + if (myErrorStatus) { + return; + } + // + if (aMPKLF.Contains(aPKF)) { + TopTools_ListOfShape& aLSDF=aMPKLF.ChangeFromKey(aPKF); + aLSDF.Append(aS); + } + else { + TopTools_ListOfShape aLSDF; + // + aLSDF.Append(aS); + aMPKLF.Add(aPKF, aLSDF); + } + } + // check geometric coincidence + if (myCheckGeometry) { + iErr=GEOMAlgo_Tools::RefineSDShapes(aMPKLF, myTol, myContext); //XX + if (iErr) { + myErrorStatus=200; + return; + } + } + // + // Images/Origins + aNbF=aMPKLF.Extent(); + for (i=1; i<=aNbF; ++i) { + const TopTools_ListOfShape& aLSDF=aMPKLF(i); + aNbSDF=aLSDF.Extent(); + if (!aNbSDF) { + myErrorStatus=4; // it must not be + } + // + const TopoDS_Shape& aS1=aLSDF.First(); + if (aType==TopAbs_FACE) { + TopoDS_Face aNewFace; + // + const TopoDS_Face& aF1=TopoDS::Face(aS1); + MakeFace(aF1, aNewFace); + aNewShape=aNewFace; + } + else if (aType==TopAbs_EDGE) { + TopoDS_Edge aNewEdge; + // + const TopoDS_Edge& aE1=TopoDS::Edge(aS1); + MakeEdge(aE1, aNewEdge); + aNewShape=aNewEdge; + } + // + myImages.Bind(aNewShape, aLSDF); + // origins + aItS.Initialize(aLSDF); + for (; aItS.More(); aItS.Next()) { + const TopoDS_Shape& aFSD=aItS.Value(); + if (!myOrigins.IsBound(aFSD)) { + myOrigins.Bind(aFSD, aNewShape); + } + } + } +} +//======================================================================= +//function : MakeVertices +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeVertices() +{ + myErrorStatus=0; + // + Standard_Boolean bFound; + Standard_Integer i, aNbV, aIndex, aNbVSD; + TColStd_ListIteratorOfListOfInteger aIt; + Handle(Bnd_HArray1OfBox) aHAB; + Bnd_BoundSortBox aBSB; + TopoDS_Shape aSTmp; + TopTools_IndexedMapOfShape aMV; + TopTools_ListIteratorOfListOfShape aItS; + TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm; + GEOMAlgo_IndexedDataMapOfIntegerShape aMIS; + GEOMAlgo_IndexedDataMapOfShapeBox aMSB; + // + TopExp::MapShapes(myShape, TopAbs_VERTEX, aMV); + aNbV=aMV.Extent(); + if (!aNbV) { + myErrorStatus=2; // no vertices in source shape + return; + } + // + aHAB=new Bnd_HArray1OfBox(1, aNbV); + // + for (i=1; i<=aNbV; ++i) { + const TopoDS_Shape& aV=aMV(i); + Bnd_Box aBox; + // + aBox.SetGap(myTol);//XX + BRepBndLib::Add(aV, aBox); + aHAB->SetValue(i, aBox); + aMIS.Add(i, aV); + aMSB.Add(aV, aBox); + } + // + aBSB.Initialize(aHAB); + // + for (i=1; i<=aNbV; ++i) { + const TopoDS_Shape& aV=aMV(i); + const Bnd_Box& aBoxV=aMSB.FindFromKey(aV); + const TColStd_ListOfInteger& aLI=aBSB.Compare(aBoxV); + aNbVSD=aLI.Extent(); + if (!aNbVSD) { + myErrorStatus=3; // it must not be + return; + } + // + // Images + TopTools_ListOfShape aLVSD; + TopoDS_Shape aVF; + // + bFound=Standard_False; + aIt.Initialize(aLI); + for (; aIt.More(); aIt.Next()) { + aIndex=aIt.Value(); + const TopoDS_Shape& aVx=aMIS.FindFromKey(aIndex); + if (myImages.IsBound(aVx)) { + bFound=Standard_True; + aVF=aVx; + } + aLVSD.Append(aVx); + } + if (bFound) { + TopTools_ListOfShape& aLVI=myImages.ChangeFind(aVF); + aLVI.Append(aLVSD); + } + else { + myImages.Bind(aV, aLVSD); + } + } + // + // Refine Images + aItIm.Initialize(myImages); + for (; aItIm.More(); aItIm.Next()) { + TopTools_ListOfShape aLVSDNew; + TopTools_MapOfShape aM; + // + const TopoDS_Shape& aV=aItIm.Key(); + const TopTools_ListOfShape& aLVSD=aItIm.Value(); + aItS.Initialize(aLVSD); + for (; aItS.More(); aItS.Next()) { + const TopoDS_Shape& aVSD=aItS.Value(); + if (aM.Add(aVSD)) { + aLVSDNew.Append(aVSD); + } + } + TopTools_ListOfShape& aLVI=myImages.ChangeFind(aV); + aLVI.Clear(); + aLVI.Append(aLVSDNew); + } + // + // Origins + aItIm.Initialize(myImages); + for (; aItIm.More(); aItIm.Next()) { + const TopoDS_Shape& aV=aItIm.Key(); + // + const TopTools_ListOfShape& aLVSD=myImages.Find(aV); + aItS.Initialize(aLVSD); + for (; aItS.More(); aItS.Next()) { + const TopoDS_Shape& aVSD=aItS.Value(); + if (!myOrigins.IsBound(aVSD)) { + myOrigins.Bind(aVSD, aV); + } + } + } + // +} +//======================================================================= +//function : FacePassKey +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::FacePassKey(const TopoDS_Face& aF, + GEOMAlgo_PassKey& aPK) +{ + Standard_Integer i, aNbE, aNbMax; + TopTools_ListOfShape aLE; + TopTools_IndexedMapOfShape aME; + // + TopExp::MapShapes(aF, TopAbs_EDGE, aME); + aNbE=aME.Extent(); + aNbMax=aPK.NbMax(); + if (!aNbE || aNbE>aNbMax) { + myErrorStatus=101; // temprorary + return; + } + // + for (i=1; i<=aNbE; ++i) { + const TopoDS_Shape& aE=aME(i); + if (!myOrigins.IsBound(aE)) { + myErrorStatus=102; + return; + } + const TopoDS_Shape& aER=myOrigins.Find(aE); + aLE.Append(aER); + } + aPK.SetIds(aLE); +} +//======================================================================= +//function : EdgePassKey +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::EdgePassKey(const TopoDS_Edge& aE, + GEOMAlgo_PassKey& aPK) +{ + TopoDS_Vertex aV1, aV2; + // + TopExp::Vertices(aE, aV1, aV2); + // + if (!myOrigins.IsBound(aV1) || !myOrigins.IsBound(aV2) ) { + myErrorStatus=100; + return; + } + const TopoDS_Shape& aVR1=myOrigins.Find(aV1); + const TopoDS_Shape& aVR2=myOrigins.Find(aV2); + aPK.SetIds(aVR1, aVR2); +} +//======================================================================= +//function : MakeEdge +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeEdge(const TopoDS_Edge& aE, + TopoDS_Edge& aNewEdge) +{ + myErrorStatus=0; + // + Standard_Real aT1, aT2; + TopoDS_Vertex aV1, aV2, aVR1, aVR2; + TopoDS_Edge aEx; + // + aEx=aE; + aEx.Orientation(TopAbs_FORWARD); + // + TopExp::Vertices(aEx, aV1, aV2); + // + aT1=BRep_Tool::Parameter(aV1, aEx); + aT2=BRep_Tool::Parameter(aV2, aEx); + // + aVR1=TopoDS::Vertex(myOrigins.Find(aV1)); + aVR1.Orientation(TopAbs_FORWARD); + aVR2=TopoDS::Vertex(myOrigins.Find(aV2)); + aVR2.Orientation(TopAbs_REVERSED); + // + BOPTools_Tools::MakeSplitEdge(aEx, aVR1, aT1, aVR2, aT2, aNewEdge); +} +// +//======================================================================= +//function : MakeFace +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::MakeFace(const TopoDS_Face& aF, + TopoDS_Face& aNewFace) +{ + myErrorStatus=0; + // + Standard_Boolean bIsToReverse; + Standard_Real aTol; + TopoDS_Edge aER; + TopoDS_Wire newWire; + TopoDS_Face aFFWD, newFace; + TopLoc_Location aLoc; + Handle(Geom_Surface) aS; + TopExp_Explorer aExpW, aExpE; + BRep_Builder aBB; + // + aFFWD=aF; + aFFWD.Orientation(TopAbs_FORWARD); + // + aS=BRep_Tool::Surface(aFFWD, aLoc); + aTol=BRep_Tool::Tolerance(aFFWD); + // + aBB.MakeFace (newFace, aS, aLoc, aTol); + // + aExpW.Init(aFFWD, TopAbs_WIRE); + for (; aExpW.More(); aExpW.Next()) { + aBB.MakeWire(newWire); + const TopoDS_Wire& aW=TopoDS::Wire(aExpW.Current()); + aExpE.Init(aW, TopAbs_EDGE); + for (; aExpE.More(); aExpE.Next()) { + const TopoDS_Edge& aE=TopoDS::Edge(aExpE.Current()); + aER=TopoDS::Edge(myOrigins.Find(aE)); + aER.Orientation(TopAbs_FORWARD); + // build p-curve + BOPTools_Tools2D::BuildPCurveForEdgeOnFace(aER, aFFWD); + // orient image + bIsToReverse=BOPTools_Tools3D::IsSplitToReverse1(aER, aE, myContext); + if (bIsToReverse) { + aER.Reverse(); + } + // + aBB.Add(newWire, aER); + } + aBB.Add(newFace, newWire); + } + aNewFace=newFace; +} +//======================================================================= +//function : IsToReverse +//purpose : +//======================================================================= +Standard_Boolean GEOMAlgo_Gluer::IsToReverse(const TopoDS_Face& aFR, + const TopoDS_Face& aF) +{ + Standard_Boolean bRet; + Standard_Real aT, aT1, aT2, aTR, aScPr; + TopExp_Explorer aExp; + Handle(Geom_Curve)aC3D; + gp_Pnt aP; + gp_Dir aDNF, aDNFR; + // + bRet=Standard_False; + // + aExp.Init(aF, TopAbs_EDGE); + if (!aExp.More()) { + return bRet; + } + const TopoDS_Edge& aE=TopoDS::Edge(aExp.Current()); + const TopoDS_Edge& aER=TopoDS::Edge(myOrigins.Find(aE)); + // + aC3D=BRep_Tool::Curve(aE, aT1, aT2); + aT=BOPTools_Tools2D::IntermediatePoint(aT1, aT2); + aC3D->D0(aT, aP); + myContext.ProjectPointOnEdge(aP, aER, aTR); + // + BOPTools_Tools3D::GetNormalToFaceOnEdge (aE, aF, aT, aDNF); + if (aF.Orientation()==TopAbs_REVERSED) { + aDNF.Reverse(); + } + // + BOPTools_Tools3D::GetNormalToFaceOnEdge (aER, aFR, aTR, aDNFR); + if (aFR.Orientation()==TopAbs_REVERSED) { + aDNFR.Reverse(); + } + // + aScPr=aDNF*aDNFR; + return (aScPr<0.); +} +// +//======================================================================= +//function : BuildResult +//purpose : +//======================================================================= +void GEOMAlgo_Gluer::BuildResult() +{ + TopoDS_Compound aCmp; + BRep_Builder aBB; + TopAbs_ShapeEnum aType; + TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm; + // + aBB.MakeCompound(aCmp); + // + aItIm.Initialize(myImages); + for (; aItIm.More(); aItIm.Next()) { + const TopoDS_Shape& aIm=aItIm.Key(); + aType=aIm.ShapeType(); + if(aType==myTypeResult) { + aBB.Add(aCmp, aIm); + } + } + myResult=aCmp; +} +// +// ErrorStatus +// +// 1 - the object is just initialized +// 2 - no vertices found in source shape +// 3 - nb same domain vertices for the vertex Vi =0 +// 4 - nb same domain edges(faces) for the edge Ei(face Fi) =0 +// 5 - source shape is Null +// 6 - result shape is Null +// 101 - nb edges > PassKey.NbMax() in FacesPassKey() +// 102 - the edge Ei can not be found in myOrigins Map +// 100 - the vertex Vi can not be found in myOrigins Map +// +// WarningStatus +// +// 1 - some shapes can not be glued by faces +// + +/* +// +// CHRONOMETER +// +#include +#include + +static Standard_Real S_ChronoTime; +Standard_STATIC(OSD_Chronometer, S_Chrono); + +static void StartChrono(); +static void StopChrono(); +static void TimeShow(); +static void TimeReset(); +static int HasChrono(); + +//======================================================================= +//function : StartChrono +//purpose : +//======================================================================= +void StartChrono() +{ + if (HasChrono()){ + S_Chrono().Reset(); + S_Chrono().Start(); + } +} + +//======================================================================= +//function : StopChrono +//purpose : +//======================================================================= +void StopChrono() +{ + if (HasChrono()) { + Standard_Real Chrono; + S_Chrono().Stop(); + S_Chrono().Show(Chrono); + // + S_ChronoTime+=Chrono; + } +} +//======================================================================= +//function : TimeReset +//purpose : +//======================================================================= +void TimeReset() +{ + if (HasChrono()){ + S_ChronoTime=0; + } +} +//======================================================================= +//function : TimeShow +//purpose : +//======================================================================= +void TimeShow() +{ + if (HasChrono()){ + cout << "Tps: " << S_ChronoTime << endl; + } +} +//======================================================================= +//function : HasChrono +//purpose : +//======================================================================= +int HasChrono() +{ + char *xr=getenv ("XCHRONO"); + if (xr!=NULL){ + if (!strcmp (xr, "yes")) { + return 1; + } + } + return 0; +} +*/ diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer.hxx b/src/GEOMAlgo/GEOMAlgo_Gluer.hxx new file mode 100644 index 000000000..b5cfb0bdd --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Gluer.hxx @@ -0,0 +1,141 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_Gluer_HeaderFile +#define _GEOMAlgo_Gluer_HeaderFile + +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +#ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile +#include +#endif +#ifndef _TopTools_DataMapOfShapeShape_HeaderFile +#include +#endif +#ifndef _IntTools_Context_HeaderFile +#include +#endif +#ifndef _TopAbs_ShapeEnum_HeaderFile +#include +#endif +#ifndef _Standard_Real_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_ShapeAlgo_HeaderFile +#include +#endif +class TopoDS_Edge; +class GEOMAlgo_PassKey; +class TopoDS_Face; +class TopTools_DataMapOfShapeListOfShape; +class TopTools_DataMapOfShapeShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_Gluer : public GEOMAlgo_ShapeAlgo { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT GEOMAlgo_Gluer(); +Standard_EXPORT virtual ~GEOMAlgo_Gluer(); +Standard_EXPORT void SetCheckGeometry(const Standard_Boolean aFlag) ; +Standard_EXPORT Standard_Boolean CheckGeometry() const; +Standard_EXPORT virtual void Perform() ; +Standard_EXPORT const TopTools_DataMapOfShapeListOfShape& Images() const; +Standard_EXPORT const TopTools_DataMapOfShapeShape& Origins() const; + + + + + +protected: + + // Methods PROTECTED + // +Standard_EXPORT virtual void CheckData() ; +Standard_EXPORT virtual void CheckResult() ; +Standard_EXPORT void BuildResult() ; +Standard_EXPORT void MakeVertices() ; +Standard_EXPORT void MakeEdges() ; +Standard_EXPORT void MakeFaces() ; +Standard_EXPORT void MakeShapes(const TopAbs_ShapeEnum aType) ; +Standard_EXPORT void MakeShells() ; +Standard_EXPORT void MakeSolids() ; +Standard_EXPORT void InnerTolerance() ; +Standard_EXPORT void EdgePassKey(const TopoDS_Edge& aE,GEOMAlgo_PassKey& aPK) ; +Standard_EXPORT void FacePassKey(const TopoDS_Face& aF,GEOMAlgo_PassKey& aPK) ; +Standard_EXPORT void MakeEdge(const TopoDS_Edge& aEdge,TopoDS_Edge& aNewEdge) ; +Standard_EXPORT void MakeFace(const TopoDS_Face& aFace,TopoDS_Face& aNewEdge) ; +Standard_EXPORT Standard_Boolean IsToReverse(const TopoDS_Face& aFR,const TopoDS_Face& aF) ; + + + // Fields PROTECTED + // +Standard_Boolean myCheckGeometry; +TopTools_DataMapOfShapeListOfShape myImages; +TopTools_DataMapOfShapeShape myOrigins; +IntTools_Context myContext; +TopAbs_ShapeEnum myTypeResult; +Standard_Real myTol; + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer.ixx b/src/GEOMAlgo/GEOMAlgo_Gluer.ixx new file mode 100644 index 000000000..b7abfc516 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Gluer.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer.jxx b/src/GEOMAlgo/GEOMAlgo_Gluer.jxx new file mode 100644 index 000000000..cd5241036 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Gluer.jxx @@ -0,0 +1,18 @@ +#ifndef _TopoDS_Edge_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif +#ifndef _TopoDS_Face_HeaderFile +#include +#endif +#ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile +#include +#endif +#ifndef _TopTools_DataMapOfShapeShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_Gluer_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx new file mode 100644 index 000000000..3f620afd0 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx @@ -0,0 +1,143 @@ +// File generated by CPPExt (Transient) +// +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile +#define _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile +#include +#endif + +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TCollection_MapNodePtr_HeaderFile +#include +#endif +#ifndef _TCollection_MapNode_HeaderFile +#include +#endif +class TopoDS_Shape; +class TColStd_MapIntegerHasher; +class GEOMAlgo_IndexedDataMapOfIntegerShape; + + +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape : public TCollection_MapNode { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape(const Standard_Integer& K1,const Standard_Integer K2,const TopoDS_Shape& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2); + Standard_Integer& Key1() const; + Standard_Integer& Key2() const; + TCollection_MapNodePtr& Next2() const; + TopoDS_Shape& Value() const; +Standard_EXPORT ~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape(); + + + + + // Type management + // + Standard_EXPORT friend Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_(); + Standard_EXPORT const Handle(Standard_Type)& DynamicType() const; + Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const; + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // +Standard_Integer myKey1; +Standard_Integer myKey2; +TopoDS_Shape myValue; +TCollection_MapNodePtr myNext2; + + +}; + +#define TheKey Standard_Integer +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TColStd_MapIntegerHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMap_hxx + +#include + +#undef TheKey +#undef TheKey_hxx +#undef TheItem +#undef TheItem_hxx +#undef Hasher +#undef Hasher_hxx +#undef TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_hxx +#undef Handle_TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_Type_ +#undef TCollection_IndexedDataMap +#undef TCollection_IndexedDataMap_hxx + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx new file mode 100644 index 000000000..9c2564b33 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx @@ -0,0 +1,100 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_TypeMismatch_HeaderFile +#include +#endif + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TColStd_MapIntegerHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile +#include +#endif +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape() {} + + + +Standard_EXPORT Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_() +{ + + static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode); + if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode); + static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); + if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); + static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); + if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient); + + + static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; + static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape", + sizeof(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape), + 1, + (Standard_Address)_Ancestors, + (Standard_Address)NULL); + + return _aType; +} + + +// DownCast method +// allow safe downcasting +// +const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)::DownCast(const Handle(Standard_Transient)& AnObject) +{ + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) _anOtherObject; + + if (!AnObject.IsNull()) { + if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape))) { + _anOtherObject = Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)((Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)&)AnObject); + } + } + + return _anOtherObject ; +} +const Handle(Standard_Type)& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::DynamicType() const +{ + return STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) ; +} +Standard_Boolean GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::IsKind(const Handle(Standard_Type)& AType) const +{ + return (STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) == AType || TCollection_MapNode::IsKind(AType)); +} +Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::~Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape() {} +#define TheKey Standard_Integer +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TColStd_MapIntegerHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx new file mode 100644 index 000000000..af09ac4f9 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx @@ -0,0 +1,147 @@ +// File generated by CPPExt (Transient) +// +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile +#define _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile +#include +#endif + +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _TCollection_MapNodePtr_HeaderFile +#include +#endif +#ifndef _TCollection_MapNode_HeaderFile +#include +#endif +class GEOMAlgo_PassKey; +class TopTools_ListOfShape; +class GEOMAlgo_PassKeyMapHasher; +class GEOMAlgo_IndexedDataMapOfPassKeyListOfShape; + + +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape : public TCollection_MapNode { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape(const GEOMAlgo_PassKey& K1,const Standard_Integer K2,const TopTools_ListOfShape& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2); + GEOMAlgo_PassKey& Key1() const; + Standard_Integer& Key2() const; + TCollection_MapNodePtr& Next2() const; + TopTools_ListOfShape& Value() const; +Standard_EXPORT ~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape(); + + + + + // Type management + // + Standard_EXPORT friend Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_Type_(); + Standard_EXPORT const Handle(Standard_Type)& DynamicType() const; + Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const; + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // +GEOMAlgo_PassKey myKey1; +Standard_Integer myKey2; +TopTools_ListOfShape myValue; +TCollection_MapNodePtr myNext2; + + +}; + +#define TheKey GEOMAlgo_PassKey +#define TheKey_hxx +#define TheItem TopTools_ListOfShape +#define TheItem_hxx +#define Hasher GEOMAlgo_PassKeyMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMap_hxx + +#include + +#undef TheKey +#undef TheKey_hxx +#undef TheItem +#undef TheItem_hxx +#undef Hasher +#undef Hasher_hxx +#undef TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_hxx +#undef Handle_TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_Type_ +#undef TCollection_IndexedDataMap +#undef TCollection_IndexedDataMap_hxx + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_0.cxx new file mode 100644 index 000000000..97be9daa0 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_0.cxx @@ -0,0 +1,103 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_TypeMismatch_HeaderFile +#include +#endif + +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKeyMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile +#include +#endif +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape::~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape() {} + + + +Standard_EXPORT Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_Type_() +{ + + static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode); + if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode); + static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); + if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); + static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); + if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient); + + + static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; + static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape", + sizeof(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape), + 1, + (Standard_Address)_Ancestors, + (Standard_Address)NULL); + + return _aType; +} + + +// DownCast method +// allow safe downcasting +// +const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)::DownCast(const Handle(Standard_Transient)& AnObject) +{ + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) _anOtherObject; + + if (!AnObject.IsNull()) { + if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape))) { + _anOtherObject = Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)((Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)&)AnObject); + } + } + + return _anOtherObject ; +} +const Handle(Standard_Type)& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape::DynamicType() const +{ + return STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) ; +} +Standard_Boolean GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape::IsKind(const Handle(Standard_Type)& AType) const +{ + return (STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) == AType || TCollection_MapNode::IsKind(AType)); +} +Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape::~Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape() {} +#define TheKey GEOMAlgo_PassKey +#define TheKey_hxx +#define TheItem TopTools_ListOfShape +#define TheItem_hxx +#define Hasher GEOMAlgo_PassKeyMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx new file mode 100644 index 000000000..2b39ccf3b --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx @@ -0,0 +1,147 @@ +// File generated by CPPExt (Transient) +// +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile +#define _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile +#include +#endif + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Bnd_Box_HeaderFile +#include +#endif +#ifndef _TCollection_MapNodePtr_HeaderFile +#include +#endif +#ifndef _TCollection_MapNode_HeaderFile +#include +#endif +class TopoDS_Shape; +class Bnd_Box; +class TopTools_ShapeMapHasher; +class GEOMAlgo_IndexedDataMapOfShapeBox; + + +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox : public TCollection_MapNode { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox(const TopoDS_Shape& K1,const Standard_Integer K2,const Bnd_Box& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2); + TopoDS_Shape& Key1() const; + Standard_Integer& Key2() const; + TCollection_MapNodePtr& Next2() const; + Bnd_Box& Value() const; +Standard_EXPORT ~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox(); + + + + + // Type management + // + Standard_EXPORT friend Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_(); + Standard_EXPORT const Handle(Standard_Type)& DynamicType() const; + Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const; + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // +TopoDS_Shape myKey1; +Standard_Integer myKey2; +Bnd_Box myValue; +TCollection_MapNodePtr myNext2; + + +}; + +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem Bnd_Box +#define TheItem_hxx +#define Hasher TopTools_ShapeMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeBox +#define TCollection_IndexedDataMap_hxx + +#include + +#undef TheKey +#undef TheKey_hxx +#undef TheItem +#undef TheItem_hxx +#undef Hasher +#undef Hasher_hxx +#undef TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_hxx +#undef Handle_TCollection_IndexedDataMapNode +#undef TCollection_IndexedDataMapNode_Type_ +#undef TCollection_IndexedDataMap +#undef TCollection_IndexedDataMap_hxx + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx new file mode 100644 index 000000000..832884d41 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx @@ -0,0 +1,103 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_TypeMismatch_HeaderFile +#include +#endif + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _Bnd_Box_HeaderFile +#include +#endif +#ifndef _TopTools_ShapeMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile +#include +#endif +GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox() {} + + + +Standard_EXPORT Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_() +{ + + static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode); + if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode); + static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); + if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); + static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); + if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient); + + + static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; + static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox", + sizeof(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox), + 1, + (Standard_Address)_Ancestors, + (Standard_Address)NULL); + + return _aType; +} + + +// DownCast method +// allow safe downcasting +// +const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)::DownCast(const Handle(Standard_Transient)& AnObject) +{ + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) _anOtherObject; + + if (!AnObject.IsNull()) { + if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox))) { + _anOtherObject = Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)((Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)&)AnObject); + } + } + + return _anOtherObject ; +} +const Handle(Standard_Type)& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::DynamicType() const +{ + return STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) ; +} +Standard_Boolean GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::IsKind(const Handle(Standard_Type)& AType) const +{ + return (STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) == AType || TCollection_MapNode::IsKind(AType)); +} +Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::~Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox() {} +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem Bnd_Box +#define TheItem_hxx +#define Hasher TopTools_ShapeMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeBox +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape.hxx new file mode 100644 index 000000000..b67dc8c70 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape.hxx @@ -0,0 +1,140 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile +#define _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile + +#ifndef _TCollection_BasicMap_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class Standard_DomainError; +class Standard_OutOfRange; +class Standard_NoSuchObject; +class TopoDS_Shape; +class TColStd_MapIntegerHasher; +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_IndexedDataMapOfIntegerShape : public TCollection_BasicMap { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const Standard_Integer NbBuckets = 1); +Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape& Assign(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other) ; + GEOMAlgo_IndexedDataMapOfIntegerShape& operator =(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other) +{ + return Assign(Other); +} + +Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; +Standard_EXPORT void Clear() ; +~GEOMAlgo_IndexedDataMapOfIntegerShape() +{ + Clear(); +} + +Standard_EXPORT Standard_Integer Add(const Standard_Integer& K,const TopoDS_Shape& I) ; +Standard_EXPORT void Substitute(const Standard_Integer I,const Standard_Integer& K,const TopoDS_Shape& T) ; +Standard_EXPORT void RemoveLast() ; +Standard_EXPORT Standard_Boolean Contains(const Standard_Integer& K) const; +Standard_EXPORT const Standard_Integer& FindKey(const Standard_Integer I) const; +Standard_EXPORT const TopoDS_Shape& FindFromIndex(const Standard_Integer I) const; + const TopoDS_Shape& operator ()(const Standard_Integer I) const +{ + return FindFromIndex(I); +} + +Standard_EXPORT TopoDS_Shape& ChangeFromIndex(const Standard_Integer I) ; + TopoDS_Shape& operator ()(const Standard_Integer I) +{ + return ChangeFromIndex(I); +} + +Standard_EXPORT Standard_Integer FindIndex(const Standard_Integer& K) const; +Standard_EXPORT const TopoDS_Shape& FindFromKey(const Standard_Integer& K) const; +Standard_EXPORT TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other); + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx new file mode 100644 index 000000000..173ef57c9 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx @@ -0,0 +1,57 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_DomainError_HeaderFile +#include +#endif +#ifndef _Standard_OutOfRange_HeaderFile +#include +#endif +#ifndef _Standard_NoSuchObject_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TColStd_MapIntegerHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile +#include +#endif + + +#define TheKey Standard_Integer +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TColStd_MapIntegerHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfIntegerShape +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape.hxx new file mode 100644 index 000000000..e89044f20 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape.hxx @@ -0,0 +1,141 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile +#define _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile + +#ifndef _TCollection_BasicMap_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class Standard_DomainError; +class Standard_OutOfRange; +class Standard_NoSuchObject; +class GEOMAlgo_PassKey; +class TopTools_ListOfShape; +class GEOMAlgo_PassKeyMapHasher; +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_IndexedDataMapOfPassKeyListOfShape : public TCollection_BasicMap { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfPassKeyListOfShape(const Standard_Integer NbBuckets = 1); +Standard_EXPORT GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& Assign(const GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& Other) ; + GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& operator =(const GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& Other) +{ + return Assign(Other); +} + +Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; +Standard_EXPORT void Clear() ; +~GEOMAlgo_IndexedDataMapOfPassKeyListOfShape() +{ + Clear(); +} + +Standard_EXPORT Standard_Integer Add(const GEOMAlgo_PassKey& K,const TopTools_ListOfShape& I) ; +Standard_EXPORT void Substitute(const Standard_Integer I,const GEOMAlgo_PassKey& K,const TopTools_ListOfShape& T) ; +Standard_EXPORT void RemoveLast() ; +Standard_EXPORT Standard_Boolean Contains(const GEOMAlgo_PassKey& K) const; +Standard_EXPORT const GEOMAlgo_PassKey& FindKey(const Standard_Integer I) const; +Standard_EXPORT const TopTools_ListOfShape& FindFromIndex(const Standard_Integer I) const; + const TopTools_ListOfShape& operator ()(const Standard_Integer I) const +{ + return FindFromIndex(I); +} + +Standard_EXPORT TopTools_ListOfShape& ChangeFromIndex(const Standard_Integer I) ; + TopTools_ListOfShape& operator ()(const Standard_Integer I) +{ + return ChangeFromIndex(I); +} + +Standard_EXPORT Standard_Integer FindIndex(const GEOMAlgo_PassKey& K) const; +Standard_EXPORT const TopTools_ListOfShape& FindFromKey(const GEOMAlgo_PassKey& K) const; +Standard_EXPORT TopTools_ListOfShape& ChangeFromKey(const GEOMAlgo_PassKey& K) ; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfPassKeyListOfShape(const GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& Other); + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx new file mode 100644 index 000000000..94bdc322b --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx @@ -0,0 +1,60 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_DomainError_HeaderFile +#include +#endif +#ifndef _Standard_OutOfRange_HeaderFile +#include +#endif +#ifndef _Standard_NoSuchObject_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKeyMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile +#include +#endif + + +#define TheKey GEOMAlgo_PassKey +#define TheKey_hxx +#define TheItem TopTools_ListOfShape +#define TheItem_hxx +#define Hasher GEOMAlgo_PassKeyMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfPassKeyListOfShape +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox.hxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox.hxx new file mode 100644 index 000000000..c9df51c94 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox.hxx @@ -0,0 +1,141 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile +#define _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile + +#ifndef _TCollection_BasicMap_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class Standard_DomainError; +class Standard_OutOfRange; +class Standard_NoSuchObject; +class TopoDS_Shape; +class Bnd_Box; +class TopTools_ShapeMapHasher; +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_IndexedDataMapOfShapeBox : public TCollection_BasicMap { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeBox(const Standard_Integer NbBuckets = 1); +Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeBox& Assign(const GEOMAlgo_IndexedDataMapOfShapeBox& Other) ; + GEOMAlgo_IndexedDataMapOfShapeBox& operator =(const GEOMAlgo_IndexedDataMapOfShapeBox& Other) +{ + return Assign(Other); +} + +Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; +Standard_EXPORT void Clear() ; +~GEOMAlgo_IndexedDataMapOfShapeBox() +{ + Clear(); +} + +Standard_EXPORT Standard_Integer Add(const TopoDS_Shape& K,const Bnd_Box& I) ; +Standard_EXPORT void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const Bnd_Box& T) ; +Standard_EXPORT void RemoveLast() ; +Standard_EXPORT Standard_Boolean Contains(const TopoDS_Shape& K) const; +Standard_EXPORT const TopoDS_Shape& FindKey(const Standard_Integer I) const; +Standard_EXPORT const Bnd_Box& FindFromIndex(const Standard_Integer I) const; + const Bnd_Box& operator ()(const Standard_Integer I) const +{ + return FindFromIndex(I); +} + +Standard_EXPORT Bnd_Box& ChangeFromIndex(const Standard_Integer I) ; + Bnd_Box& operator ()(const Standard_Integer I) +{ + return ChangeFromIndex(I); +} + +Standard_EXPORT Standard_Integer FindIndex(const TopoDS_Shape& K) const; +Standard_EXPORT const Bnd_Box& FindFromKey(const TopoDS_Shape& K) const; +Standard_EXPORT Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // +Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeBox(const GEOMAlgo_IndexedDataMapOfShapeBox& Other); + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx new file mode 100644 index 000000000..a0717bcd5 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx @@ -0,0 +1,60 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_DomainError_HeaderFile +#include +#endif +#ifndef _Standard_OutOfRange_HeaderFile +#include +#endif +#ifndef _Standard_NoSuchObject_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _Bnd_Box_HeaderFile +#include +#endif +#ifndef _TopTools_ShapeMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile +#include +#endif + + +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem Bnd_Box +#define TheItem_hxx +#define Hasher TopTools_ShapeMapHasher +#define Hasher_hxx +#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_hxx +#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox +#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_() +#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeBox +#define TCollection_IndexedDataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_PassKey.cdl b/src/GEOMAlgo/GEOMAlgo_PassKey.cdl new file mode 100755 index 000000000..fe864b984 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKey.cdl @@ -0,0 +1,78 @@ +-- File: GEOMAlgo_PassKey.cdl +-- Created: +-- Author: Peter KURNEV +-- +---Copyright: + + +class PassKey from GEOMAlgo + + ---Purpose: + +uses + Shape from TopoDS, + ListOfShape from TopTools + +--raises + +is + Create + returns PassKey from GEOMAlgo; + + Assign(me:out; + Other : PassKey from GEOMAlgo) + returns PassKey from GEOMAlgo; + ---C++: alias operator = + ---C++: return & + + SetIds(me:out; + aS :Shape from TopoDS); + + SetIds(me:out; + aS1 :Shape from TopoDS; + aS2 :Shape from TopoDS); + + SetIds(me:out; + aS1 :Shape from TopoDS; + aS2 :Shape from TopoDS; + aS3 :Shape from TopoDS); + + SetIds(me:out; + aS1 :Shape from TopoDS; + aS2 :Shape from TopoDS; + aS3 :Shape from TopoDS; + aS4 :Shape from TopoDS); + + SetIds(me:out; + aLS :ListOfShape from TopTools); + + NbMax(me) + returns Integer from Standard; + + Clear(me:out); + + Compute(me:out); + + IsEqual(me; + aOther:PassKey from GEOMAlgo) + returns Boolean from Standard; + + Key(me) + returns Address from Standard; + + HashCode(me; + Upper : Integer from Standard) + returns Integer from Standard; + + Dump(me); + +fields + + myNbIds: Integer from Standard is protected; + myNbMax: Integer from Standard is protected; + mySum : Integer from Standard is protected; + myIds : Integer from Standard [8] is protected; + myShapes : Shape from TopoDS [8] is protected; + myUpper : Integer from Standard is protected; + +end PassKey; diff --git a/src/GEOMAlgo/GEOMAlgo_PassKey.cxx b/src/GEOMAlgo/GEOMAlgo_PassKey.cxx new file mode 100755 index 000000000..54a392cf7 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKey.cxx @@ -0,0 +1,254 @@ +// File: GEOMAlgo_PassKey.cxx +// Created: +// Author: Peter KURNEV +// + + +#include + +#include +#include + +#include + +#ifdef WNT +#pragma warning( disable : 4101) +#endif + +static + void SortShell(const int n, int* a); + +//======================================================================= +//function : +//purpose : +//======================================================================= + GEOMAlgo_PassKey::GEOMAlgo_PassKey() +{ + Clear(); +} +//======================================================================= +//function :Clear +//purpose : +//======================================================================= + void GEOMAlgo_PassKey::Clear() +{ + myNbIds=0; + myNbMax=8; + mySum=0; + myIds[0]=0; myIds[1]=0; myIds[2]=0; myIds[3]=0; + myIds[4]=0; myIds[5]=0; myIds[6]=0; myIds[7]=0; + myUpper=432123;//2147483647; +} +//======================================================================= +//function :Assign +//purpose : +//======================================================================= + GEOMAlgo_PassKey& GEOMAlgo_PassKey::Assign(const GEOMAlgo_PassKey& anOther) +{ + myNbIds=anOther.myNbIds; + myNbMax=anOther.myNbMax; + mySum=anOther.mySum; + memcpy(myIds, anOther.myIds, sizeof(myIds)); + return *this; +} +//======================================================================= +//function :SetIds +//purpose : +//======================================================================= + void GEOMAlgo_PassKey::SetIds(const TopoDS_Shape& aS1) + +{ + Standard_Integer anId1; + // + anId1=aS1.HashCode(myUpper); + // + myNbIds=1; + myIds[7]=anId1; + mySum=anId1; +} +//======================================================================= +//function :SetIds +//purpose : +//======================================================================= + void GEOMAlgo_PassKey::SetIds(const TopoDS_Shape& aS1, + const TopoDS_Shape& aS2) +{ + Standard_Integer anId1, anId2; + // + anId1=aS1.HashCode(myUpper); + anId2=aS2.HashCode(myUpper); + // + myNbIds=2; + mySum=anId1+anId2; + if (anId1 myNbMax) { + return; + } + // + myNbIds=aNb; + mySum=0; + i=myNbMax-myNbIds; + aIt.Initialize(aLS); + for (; aIt.More(); aIt.Next(), ++i) { + const TopoDS_Shape& aS=aIt.Value(); + anId=aS.HashCode(myUpper); + myIds[i]=anId; + mySum+=anId; + } + // + Compute(); +} +//======================================================================= +//function :NbMax +//purpose : +//======================================================================= + Standard_Integer GEOMAlgo_PassKey::NbMax()const +{ + return myNbMax; +} +//======================================================================= +//function :Compute +//purpose : +//======================================================================= + void GEOMAlgo_PassKey::Compute() +{ + SortShell(myNbIds, myIds+myNbMax-myNbIds); +} +//======================================================================= +//function :IsEqual +//purpose : +//======================================================================= + Standard_Boolean GEOMAlgo_PassKey::IsEqual(const GEOMAlgo_PassKey& anOther) const +{ + Standard_Integer iIsEqual; + Standard_Boolean bIsEqual; + // + iIsEqual=memcmp(myIds, anOther.myIds, sizeof(myIds)); + bIsEqual=Standard_False; + if (!iIsEqual) { + bIsEqual=!bIsEqual; + } + return bIsEqual; +} +//======================================================================= +//function :Key +//purpose : +//======================================================================= + Standard_Address GEOMAlgo_PassKey::Key()const +{ + return (Standard_Address)myIds; +} +//======================================================================= +//function : HashCode +//purpose : +//======================================================================= + Standard_Integer GEOMAlgo_PassKey::HashCode(const Standard_Integer Upper) const +{ + return (mySum % Upper); +} +//======================================================================= +//function : Dump +//purpose : +//======================================================================= + void GEOMAlgo_PassKey::Dump()const +{ + Standard_Integer i; + // + printf(" PassKey: {"); + for (i=0; i -1) goto m30; + }//if (a[l] < a[j]){ + }//for (i=0; i +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +#ifndef _Standard_Address_HeaderFile +#include +#endif +class TopoDS_Shape; +class TopTools_ListOfShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_PassKey { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT GEOMAlgo_PassKey(); +Standard_EXPORT GEOMAlgo_PassKey& Assign(const GEOMAlgo_PassKey& Other) ; + GEOMAlgo_PassKey& operator =(const GEOMAlgo_PassKey& Other) +{ + return Assign(Other); +} + +Standard_EXPORT void SetIds(const TopoDS_Shape& aS) ; +Standard_EXPORT void SetIds(const TopoDS_Shape& aS1,const TopoDS_Shape& aS2) ; +Standard_EXPORT void SetIds(const TopoDS_Shape& aS1,const TopoDS_Shape& aS2,const TopoDS_Shape& aS3) ; +Standard_EXPORT void SetIds(const TopoDS_Shape& aS1,const TopoDS_Shape& aS2,const TopoDS_Shape& aS3,const TopoDS_Shape& aS4) ; +Standard_EXPORT void SetIds(const TopTools_ListOfShape& aLS) ; +Standard_EXPORT Standard_Integer NbMax() const; +Standard_EXPORT void Clear() ; +Standard_EXPORT void Compute() ; +Standard_EXPORT Standard_Boolean IsEqual(const GEOMAlgo_PassKey& aOther) const; +Standard_EXPORT Standard_Address Key() const; +Standard_EXPORT Standard_Integer HashCode(const Standard_Integer Upper) const; +Standard_EXPORT void Dump() const; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // +Standard_Integer myNbIds; +Standard_Integer myNbMax; +Standard_Integer mySum; +Standard_Integer myIds[8]; +TopoDS_Shape myShapes[8]; +Standard_Integer myUpper; + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_PassKey.ixx b/src/GEOMAlgo/GEOMAlgo_PassKey.ixx new file mode 100644 index 000000000..9e0b612a9 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKey.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_PassKey.jxx b/src/GEOMAlgo/GEOMAlgo_PassKey.jxx new file mode 100644 index 000000000..c66ea0df6 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKey.jxx @@ -0,0 +1,9 @@ +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cdl b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cdl new file mode 100755 index 000000000..31274eeef --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cdl @@ -0,0 +1,29 @@ +-- File: GEOMAlgo_PassKeyMapHasher.cdl +-- Created: +-- Author: Peter KURNEV +-- +---Copyright: + + +class PassKeyMapHasher from GEOMAlgo + + ---Purpose: + +uses + PassKey from GEOMAlgo + +--raises + +is + HashCode(myclass; + aPKey : PassKey from GEOMAlgo; + Upper : Integer from Standard) + returns Integer from Standard; + + + IsEqual(myclass; + aPKey1 : PassKey from GEOMAlgo; + aPKey2 : PassKey from GEOMAlgo) + returns Boolean from Standard; + +end PassKeyMapHasher; diff --git a/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cxx b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cxx new file mode 100755 index 000000000..b928f13f8 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.cxx @@ -0,0 +1,26 @@ +// File: GEOMAlgo_PassKeyMapHasher.cxx +// Created: +// Author: Peter KURNEV +// + + +#include + +//======================================================================= +//function : HashCode +//purpose : +//======================================================================= + Standard_Integer GEOMAlgo_PassKeyMapHasher::HashCode(const GEOMAlgo_PassKey& aPKey, + const Standard_Integer Upper) +{ + return aPKey.HashCode(Upper); +} +//======================================================================= +//function :IsEqual +//purpose : +//======================================================================= + Standard_Boolean GEOMAlgo_PassKeyMapHasher::IsEqual(const GEOMAlgo_PassKey& aPKey1, + const GEOMAlgo_PassKey& aPKey2) +{ + return aPKey1.IsEqual(aPKey2); +} diff --git a/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.hxx b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.hxx new file mode 100644 index 000000000..2a1a4650e --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.hxx @@ -0,0 +1,96 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_PassKeyMapHasher_HeaderFile +#define _GEOMAlgo_PassKeyMapHasher_HeaderFile + +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class GEOMAlgo_PassKey; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_PassKeyMapHasher { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT static Standard_Integer HashCode(const GEOMAlgo_PassKey& aPKey,const Standard_Integer Upper) ; +Standard_EXPORT static Standard_Boolean IsEqual(const GEOMAlgo_PassKey& aPKey1,const GEOMAlgo_PassKey& aPKey2) ; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.ixx b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.ixx new file mode 100644 index 000000000..c990ee15c --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.jxx b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.jxx new file mode 100644 index 000000000..a86f85b69 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_PassKeyMapHasher.jxx @@ -0,0 +1,6 @@ +#ifndef _GEOMAlgo_PassKey_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_PassKeyMapHasher_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cdl b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cdl new file mode 100644 index 000000000..5a9ab0e72 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cdl @@ -0,0 +1,47 @@ +-- File: GEOMAlgo_ShapeAlgo.cdl +-- Created: Tue Dec 7 12:05:19 2004 +-- Author: Peter KURNEV +-- +---Copyright: Matra Datavision 2004 + + +deferred class ShapeAlgo from GEOMAlgo + inherits Algo from GEOMAlgo + + ---Purpose: + +uses + Shape from TopoDS, + Context from IntTools + +--raises + +is + Initialize + returns ShapeAlgo from GEOMAlgo; + ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_ShapeAlgo();" + + SetShape(me:out; + aS:Shape from TopoDS); + + SetTolerance(me:out; + aT:Real from Standard); + + Shape(me) + returns Shape from TopoDS; + ---C++:return const & + + Tolerance(me) + returns Real from Standard; + + Result(me) + returns Shape from TopoDS; + ---C++:return const & + +fields + myShape : Shape from TopoDS is protected; + myTolerance : Real from Standard is protected; + myResult : Shape from TopoDS is protected; + myContext : Context from IntTools is protected; + +end ShapeAlgo; diff --git a/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cxx b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cxx new file mode 100644 index 000000000..1e4a673fc --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.cxx @@ -0,0 +1,66 @@ +// File: GEOMAlgo_ShapeAlgo.cxx +// Created: Tue Dec 7 12:06:54 2004 +// Author: Peter KURNEV +// + + +#include + +//======================================================================= +//function : GEOMAlgo_ShapeAlgo +//purpose : +//======================================================================= +GEOMAlgo_ShapeAlgo::GEOMAlgo_ShapeAlgo() +: + GEOMAlgo_Algo() +{ + myTolerance=0.0001; +} + +//======================================================================= +//function : ~ +//purpose : +//======================================================================= +GEOMAlgo_ShapeAlgo::~GEOMAlgo_ShapeAlgo() +{ +} +//======================================================================= +//function : SetShape +//purpose : +//======================================================================= +void GEOMAlgo_ShapeAlgo::SetShape(const TopoDS_Shape& aS) +{ + myShape=aS; +} +//======================================================================= +//function : Shape +//purpose : +//======================================================================= +const TopoDS_Shape& GEOMAlgo_ShapeAlgo::Shape()const +{ + return myShape; +} +//======================================================================= +//function : SetTolerance +//purpose : +//======================================================================= +void GEOMAlgo_ShapeAlgo::SetTolerance(const Standard_Real aT) +{ + myTolerance=aT; +} +//======================================================================= +//function : Tolerance +//purpose : +//======================================================================= +Standard_Real GEOMAlgo_ShapeAlgo::Tolerance()const +{ + return myTolerance; +} +//======================================================================= +//function : Result +//purpose : +//======================================================================= +const TopoDS_Shape& GEOMAlgo_ShapeAlgo::Result()const +{ + return myResult; +} diff --git a/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.hxx b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.hxx new file mode 100644 index 000000000..a3390875e --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.hxx @@ -0,0 +1,111 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_ShapeAlgo_HeaderFile +#define _GEOMAlgo_ShapeAlgo_HeaderFile + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _Standard_Real_HeaderFile +#include +#endif +#ifndef _IntTools_Context_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_Algo_HeaderFile +#include +#endif +class TopoDS_Shape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_ShapeAlgo : public GEOMAlgo_Algo { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT void SetShape(const TopoDS_Shape& aS) ; +Standard_EXPORT void SetTolerance(const Standard_Real aT) ; +Standard_EXPORT const TopoDS_Shape& Shape() const; +Standard_EXPORT Standard_Real Tolerance() const; +Standard_EXPORT const TopoDS_Shape& Result() const; + + + + + +protected: + + // Methods PROTECTED + // +Standard_EXPORT GEOMAlgo_ShapeAlgo(); +Standard_EXPORT virtual ~GEOMAlgo_ShapeAlgo(); + + + // Fields PROTECTED + // +TopoDS_Shape myShape; +Standard_Real myTolerance; +TopoDS_Shape myResult; +IntTools_Context myContext; + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.ixx b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.ixx new file mode 100644 index 000000000..1b153c305 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.jxx b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.jxx new file mode 100644 index 000000000..df0a54e3f --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_ShapeAlgo.jxx @@ -0,0 +1,6 @@ +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_ShapeAlgo_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_Tools.cdl b/src/GEOMAlgo/GEOMAlgo_Tools.cdl new file mode 100644 index 000000000..ac4ea7f7f --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Tools.cdl @@ -0,0 +1,77 @@ +-- File: GEOMAlgo_Tools.cdl +-- Created: Mon Dec 6 11:26:02 2004 +-- Author: Peter KURNEV +-- +---Copyright: Matra Datavision 2004 + + +class Tools from GEOMAlgo + + ---Purpose: + +uses + Pnt from gp, + Edge from TopoDS, + Face from TopoDS, + Shape from TopoDS, + ListOfShape from TopTools, + IndexedDataMapOfShapeListOfShape from TopTools, + Context from IntTools, + IndexedDataMapOfPassKeyListOfShape from GEOMAlgo + +--raises + +is + RefineSDShapes(myclass; + aMSD:out IndexedDataMapOfPassKeyListOfShape from GEOMAlgo; + aTol:Real from Standard; + aCtx:out Context from IntTools) + returns Integer from Standard; + + FindSDShapes(myclass; + aLE :ListOfShape from TopTools; + aTol:Real from Standard; + aMEE:out IndexedDataMapOfShapeListOfShape from TopTools; + aCtx:out Context from IntTools) + returns Integer from Standard; + + FindSDShapes(myclass; + aE1 :Shape from TopoDS; + aLE :ListOfShape from TopTools; + aTol :Real from Standard; + aLESD :out ListOfShape from TopTools; + aCtx :out Context from IntTools) + returns Integer from Standard; + + ProjectPointOnShape(myclass; + aP1: Pnt from gp; + aS :Shape from TopoDS; + aP2:out Pnt from gp; + aCtx :out Context from IntTools) + returns Boolean from Standard; + + PointOnShape(myclass; + aS :Shape from TopoDS; + aP3D:out Pnt from gp); + + PointOnEdge(myclass; + aE :Edge from TopoDS; + aP3D:out Pnt from gp); + + PointOnEdge(myclass; + aE :Edge from TopoDS; + aT :Real from Standard; + aP3D:out Pnt from gp); + + PointOnFace(myclass; + aF :Face from TopoDS; + aP3D:out Pnt from gp); + + PointOnFace(myclass; + aF :Face from TopoDS; + aU :Real from Standard; + aV :Real from Standard; + aP3D:out Pnt from gp); +--fields + +end Tools; diff --git a/src/GEOMAlgo/GEOMAlgo_Tools.cxx b/src/GEOMAlgo/GEOMAlgo_Tools.cxx new file mode 100644 index 000000000..452fc7a43 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Tools.cxx @@ -0,0 +1,397 @@ +// File: GEOMAlgo_Tools.cxx +// Created: Mon Dec 6 11:35:29 2004 +// Author: Peter KURNEV +// + +#include + +#include + +#include +#include + +#include + +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +//======================================================================= +//function : RefineSDShapes +//purpose : +//======================================================================= +Standard_Integer GEOMAlgo_Tools::RefineSDShapes(GEOMAlgo_IndexedDataMapOfPassKeyListOfShape &aMPKLE, + const Standard_Real aTol, + IntTools_Context& aCtx) +{ + Standard_Integer i, aNbE, iErr, j, aNbEE, aNbToAdd; + TopTools_IndexedDataMapOfShapeListOfShape aMEE, aMSDE, aMEToAdd; + // + iErr=1; + // + aNbE=aMPKLE.Extent(); + for (i=1; i<=aNbE; ++i) { + TopTools_ListOfShape& aLSDE=aMPKLE.ChangeFromIndex(i); + aMEE.Clear(); + // + iErr=GEOMAlgo_Tools::FindSDShapes(aLSDE, aTol, aMEE, aCtx); + if (iErr) { + return iErr; + } + // + aNbEE=aMEE.Extent(); + if (aNbEE==1) { + continue; // nothing to do + } + // + for (j=1; j<=aNbEE; ++j) { + TopTools_ListOfShape& aLEE=aMEE.ChangeFromIndex(j); + // + if (j==1) { + aLSDE.Clear(); + aLSDE.Append(aLEE); + } + else { + const TopoDS_Shape& aE1=aLEE.First(); + aMEToAdd.Add(aE1, aLEE); + } + } + } + // + aNbToAdd=aMEToAdd.Extent(); + if (!aNbToAdd) { + return aNbToAdd; + } + // + for (i=1; i<=aNbToAdd; ++i) { + GEOMAlgo_PassKey aPKE1; + // + const TopoDS_Shape& aE1=aMEToAdd.FindKey(i); + const TopTools_ListOfShape& aLE=aMEToAdd(i); + // + aPKE1.SetIds(aE1); + aMPKLE.Add(aPKE1, aLE); + } + // + return 0; +} +//======================================================================= +//function : FindSDShapes +//purpose : +//======================================================================= +Standard_Integer GEOMAlgo_Tools::FindSDShapes(const TopTools_ListOfShape& aLE, + const Standard_Real aTol, + TopTools_IndexedDataMapOfShapeListOfShape& aMEE, + IntTools_Context& aCtx) +{ + Standard_Integer aNbE, aNbEProcessed, aNbESD, iErr; + TopTools_ListOfShape aLESD; + TopTools_ListIteratorOfListOfShape aIt, aIt1; + TopTools_IndexedMapOfShape aMProcessed; + // + aNbE=aLE.Extent(); + if (!aNbE) { + return 3; // Err + } + // + while(1) { + aNbEProcessed=aMProcessed.Extent(); + if (aNbEProcessed==aNbE) { + break; + } + // + aIt.Initialize(aLE); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Shape& aS=aIt.Value(); + if (aMProcessed.Contains(aS)) { + continue; + } + // + aLESD.Clear(); + iErr=GEOMAlgo_Tools::FindSDShapes(aS, aLE, aTol, aLESD, aCtx); + if (iErr) { + return 2; // Err + } + // + aNbESD=aLESD.Extent(); + if (!aNbESD) { + return 1; // Err + } + // + aMEE.Add(aS, aLESD); + // + aIt1.Initialize(aLESD); + for (; aIt1.More(); aIt1.Next()) { + const TopoDS_Shape& aE1=aIt1.Value(); + aMProcessed.Add(aE1); + } + } + } + return 0; +} +//======================================================================= +//function : FindSDShapes +//purpose : +//======================================================================= +Standard_Integer GEOMAlgo_Tools::FindSDShapes(const TopoDS_Shape& aE1, + const TopTools_ListOfShape& aLE, + const Standard_Real aTol, + TopTools_ListOfShape& aLESD, + IntTools_Context& aCtx) +{ + Standard_Boolean bIsDone; + Standard_Real aTol2, aD2; + gp_Pnt aP1, aP2; + TopTools_ListIteratorOfListOfShape aIt; + // + aTol2=aTol*aTol; + GEOMAlgo_Tools::PointOnShape(aE1, aP1); + // + aIt.Initialize(aLE); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Shape& aE2=aIt.Value(); + if (aE2.IsSame(aE1)) { + aLESD.Append(aE2); + } + else { + bIsDone=GEOMAlgo_Tools::ProjectPointOnShape(aP1, aE2, aP2, aCtx); + if (!bIsDone) { + return 1; + } + aD2=aP1.SquareDistance(aP2); + if(aD2D0(aU, aV, aP3D); +} +//======================================================================= +//function : PointOnEdge +//purpose : +//======================================================================= +void GEOMAlgo_Tools::PointOnEdge(const TopoDS_Edge& aE, + gp_Pnt& aP3D) +{ + Standard_Real aTx, aT1, aT2; + // + BRep_Tool::Curve(aE, aT1, aT2); + aTx=BOPTools_Tools2D::IntermediatePoint(aT1, aT2); + GEOMAlgo_Tools::PointOnEdge(aE, aTx, aP3D); +} +//======================================================================= +//function : PointOnEdge +//purpose : +//======================================================================= +void GEOMAlgo_Tools::PointOnEdge(const TopoDS_Edge& aE, + const Standard_Real aT, + gp_Pnt& aP3D) +{ + Standard_Real aT1, aT2; + Handle(Geom_Curve) aC3D; + // + aC3D=BRep_Tool::Curve(aE, aT1, aT2); + aC3D->D0(aT, aP3D); +} +/* +//======================================================================= +//function : FindSDEdges +//purpose : +//======================================================================= +Standard_Integer GEOMAlgo_Tools::FindSDEdges(const TopoDS_Edge& aE1, + const TopTools_ListOfShape& aLE, + const Standard_Real aTol, + TopTools_ListOfShape& aLESD, + IntTools_Context& aCtx) +{ + Standard_Boolean bIsDone; + Standard_Real aT2, aTol2, aD2; + gp_Pnt aP1, aP2; + TopTools_ListIteratorOfListOfShape aIt; + // + aTol2=aTol*aTol; + // + GEOMAlgo_Tools::PointOnEdge(aE1, aP1); + aIt.Initialize(aLE); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Edge& aE2=TopoDS::Edge(aIt.Value()); + if (aE2.IsSame(aE1)) { + aLESD.Append(aE2); + } + else { + bIsDone=aCtx.ProjectPointOnEdge(aP1, aE2, aT2); + if (!bIsDone) { + return 1; + } + GEOMAlgo_Tools::PointOnEdge(aE2, aT2, aP2); + aD2=aP1.SquareDistance(aP2); + if(aD2 +#endif +#ifndef _Standard_Real_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class GEOMAlgo_IndexedDataMapOfPassKeyListOfShape; +class IntTools_Context; +class TopTools_ListOfShape; +class TopTools_IndexedDataMapOfShapeListOfShape; +class TopoDS_Shape; +class gp_Pnt; +class TopoDS_Edge; +class TopoDS_Face; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + +class GEOMAlgo_Tools { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // +Standard_EXPORT static Standard_Integer RefineSDShapes(GEOMAlgo_IndexedDataMapOfPassKeyListOfShape& aMSD,const Standard_Real aTol,IntTools_Context& aCtx) ; +Standard_EXPORT static Standard_Integer FindSDShapes(const TopTools_ListOfShape& aLE,const Standard_Real aTol,TopTools_IndexedDataMapOfShapeListOfShape& aMEE,IntTools_Context& aCtx) ; +Standard_EXPORT static Standard_Integer FindSDShapes(const TopoDS_Shape& aE1,const TopTools_ListOfShape& aLE,const Standard_Real aTol,TopTools_ListOfShape& aLESD,IntTools_Context& aCtx) ; +Standard_EXPORT static Standard_Boolean ProjectPointOnShape(const gp_Pnt& aP1,const TopoDS_Shape& aS,gp_Pnt& aP2,IntTools_Context& aCtx) ; +Standard_EXPORT static void PointOnShape(const TopoDS_Shape& aS,gp_Pnt& aP3D) ; +Standard_EXPORT static void PointOnEdge(const TopoDS_Edge& aE,gp_Pnt& aP3D) ; +Standard_EXPORT static void PointOnEdge(const TopoDS_Edge& aE,const Standard_Real aT,gp_Pnt& aP3D) ; +Standard_EXPORT static void PointOnFace(const TopoDS_Face& aF,gp_Pnt& aP3D) ; +Standard_EXPORT static void PointOnFace(const TopoDS_Face& aF,const Standard_Real aU,const Standard_Real aV,gp_Pnt& aP3D) ; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_Tools.ixx b/src/GEOMAlgo/GEOMAlgo_Tools.ixx new file mode 100644 index 000000000..6b9d6c04d --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Tools.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_Tools.jxx b/src/GEOMAlgo/GEOMAlgo_Tools.jxx new file mode 100644 index 000000000..5538d85d8 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_Tools.jxx @@ -0,0 +1,27 @@ +#ifndef _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile +#include +#endif +#ifndef _IntTools_Context_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _gp_Pnt_HeaderFile +#include +#endif +#ifndef _TopoDS_Edge_HeaderFile +#include +#endif +#ifndef _TopoDS_Face_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_Tools_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx new file mode 100644 index 000000000..baa1ea423 --- /dev/null +++ b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx @@ -0,0 +1,91 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile +#define _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile + +#ifndef _Standard_Macro_HeaderFile +#include +#endif +#ifndef _Standard_HeaderFile +#include +#endif + +#ifndef _Handle_TCollection_MapNode_HeaderFile +#include +#endif + +class Standard_Transient; +class Handle_Standard_Type; +class Handle(TCollection_MapNode); +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape; +Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape); + +class Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) : public Handle(TCollection_MapNode) { + public: + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)():Handle(TCollection_MapNode)() {} + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& operator=(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& aHandle) + { + Assign(aHandle.Access()); + return *this; + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& operator=(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* anItem) + { + Assign((Standard_Transient *)anItem); + return *this; + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* operator->() + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape *)ControlAccess(); + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* operator->() const + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape *)ControlAccess(); + } + + Standard_EXPORT ~Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)(); + + Standard_EXPORT static const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) DownCast(const Handle(Standard_Transient)& AnObject); +}; +#endif diff --git a/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx new file mode 100644 index 000000000..e246513bc --- /dev/null +++ b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx @@ -0,0 +1,91 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile +#define _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_HeaderFile + +#ifndef _Standard_Macro_HeaderFile +#include +#endif +#ifndef _Standard_HeaderFile +#include +#endif + +#ifndef _Handle_TCollection_MapNode_HeaderFile +#include +#endif + +class Standard_Transient; +class Handle_Standard_Type; +class Handle(TCollection_MapNode); +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape; +Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape); + +class Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) : public Handle(TCollection_MapNode) { + public: + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)():Handle(TCollection_MapNode)() {} + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)& operator=(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)& aHandle) + { + Assign(aHandle.Access()); + return *this; + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)& operator=(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape* anItem) + { + Assign((Standard_Transient *)anItem); + return *this; + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape* operator->() + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape *)ControlAccess(); + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape* operator->() const + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape *)ControlAccess(); + } + + Standard_EXPORT ~Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape)(); + + Standard_EXPORT static const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape) DownCast(const Handle(Standard_Transient)& AnObject); +}; +#endif diff --git a/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx new file mode 100644 index 000000000..17835020d --- /dev/null +++ b/src/GEOMAlgo/Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx @@ -0,0 +1,91 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile +#define _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile + +#ifndef _Standard_Macro_HeaderFile +#include +#endif +#ifndef _Standard_HeaderFile +#include +#endif + +#ifndef _Handle_TCollection_MapNode_HeaderFile +#include +#endif + +class Standard_Transient; +class Handle_Standard_Type; +class Handle(TCollection_MapNode); +class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox; +Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox); + +class Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) : public Handle(TCollection_MapNode) { + public: + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)():Handle(TCollection_MapNode)() {} + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& aHandle) : Handle(TCollection_MapNode)(aHandle) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) + { + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& operator=(const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& aHandle) + { + Assign(aHandle.Access()); + return *this; + } + + Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& operator=(const GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* anItem) + { + Assign((Standard_Transient *)anItem); + return *this; + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* operator->() + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox *)ControlAccess(); + } + + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* operator->() const + { + return (GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox *)ControlAccess(); + } + + Standard_EXPORT ~Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)(); + + Standard_EXPORT static const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) DownCast(const Handle(Standard_Transient)& AnObject); +}; +#endif diff --git a/src/GEOMAlgo/Makefile.in b/src/GEOMAlgo/Makefile.in new file mode 100644 index 000000000..42f3ac46c --- /dev/null +++ b/src/GEOMAlgo/Makefile.in @@ -0,0 +1,72 @@ +# GEOM GEOMAlgo : tools for Glue Faces algorithm +# +# Copyright (C) 2004 CEA +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org or email : webmaster.salome@opencascade.org +# +# +# +# File : Makefile.in +# Author : Julia DOROVSKIKH +# Module : GEOM +# $Header$ + +top_srcdir=@top_srcdir@ +top_builddir=../.. +srcdir=@srcdir@ +VPATH=.:@srcdir@ + + +@COMMENCE@ + +# Libraries targets +LIB = libGEOMAlgo.la +LIB_SRC = \ + GEOMAlgo_Algo.cxx \ + GEOMAlgo_Gluer.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_0.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx \ + GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx \ + GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx \ + GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx \ + GEOMAlgo_PassKey.cxx \ + GEOMAlgo_PassKeyMapHasher.cxx \ + GEOMAlgo_ShapeAlgo.cxx \ + GEOMAlgo_Tools.cxx + +LIB_CLIENT_IDL = +LIB_SERVER_IDL = + +# header files +EXPORT_HEADERS = \ + GEOMAlgo_Gluer.hxx \ + GEOMAlgo_ShapeAlgo.hxx \ + GEOMAlgo_Algo.hxx + +# idl files +EXPORT_IDLS= + + +CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome +CXXFLAGS += $(OCC_CXXFLAGS) -I${KERNEL_ROOT_DIR}/include/salome +LDFLAGS += $(CAS_LDPATH) -lTKBO -L${KERNEL_ROOT_DIR}/lib/salome + +%_moc.cxx: %.h + $(MOC) $< -o $@ + +@CONCLUDE@ diff --git a/src/GEOMGUI/GEOM_msg_en.po b/src/GEOMGUI/GEOM_msg_en.po index 30092d5de..d889f8371 100644 --- a/src/GEOMGUI/GEOM_msg_en.po +++ b/src/GEOMGUI/GEOM_msg_en.po @@ -1929,4 +1929,8 @@ msgstr "ProcessShape" msgid "SUPRESS_FACE_NEW_OBJ_NAME" msgstr "SupressFaces" + +msgid "NON_GEOM_OBJECTS_SELECTED" +msgstr "There are objects selected which do not belong to %1 component." + ### diff --git a/src/GEOMGUI/GeometryGUI.cxx b/src/GEOMGUI/GeometryGUI.cxx index 7f26db05c..f6766b677 100644 --- a/src/GEOMGUI/GeometryGUI.cxx +++ b/src/GEOMGUI/GeometryGUI.cxx @@ -90,30 +90,27 @@ public: void paint(QPainter* p, const QColorGroup& cg, bool act, bool /*enabled*/, int x, int y, int w, int h) { - if ( !act ) { - p->fillRect( x, y+1, w, h-2, cg.mid() ); - p->drawRect( x, y+1, w, h-2 ); - } - else { - p->fillRect( x, y+1, w, h-2, cg.midlight() ); - QPen oldPen = p->pen(); - p->setPen( cg.mid() ); - p->drawRect( x, y+1, w, h-2 ); - p->setPen( oldPen ); - } + p->save(); + p->fillRect( x, y, w, h, act ? cg.highlight() : cg.mid() ); + p->setPen( act ? cg.highlightedText() : cg.buttonText() ); p->setFont( myFont ); - p->drawText( x, y, w, h, AlignHCenter | AlignVCenter | ShowPrefix | DontClip, myString ); + p->drawText( x, y, w, h, AlignHCenter | AlignVCenter | ShowPrefix | DontClip | SingleLine, myString ); + p->restore(); } QSize sizeHint() { - return QFontMetrics( myFont ).size( AlignHCenter | AlignVCenter | ShowPrefix | DontClip, myString ); + return QFontMetrics( myFont ).size( AlignHCenter | AlignVCenter | ShowPrefix | DontClip | SingleLine, myString ); + } + + bool fullSpan() const + { + return true; } private: QString myString; QFont myFont; - }; //======================================================================= @@ -912,7 +909,7 @@ bool GeometryGUI::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QStr popup->removeItem( QAD_TopLabel_Popup_ID ); if ( theParent == "Viewer" && !objectName.isEmpty() && popup->count() > 0 ) { // set bold font for popup menu's title - QFont f = QApplication::font(); f.setBold( TRUE ); + QFont f = popup->font(); f.setBold( TRUE ); popup->removeItem( QAD_TopLabel_Popup_ID ); popup->insertItem( new CustomItem( objectName, f ), QAD_TopLabel_Popup_ID, topItem ); } @@ -954,6 +951,8 @@ bool GeometryGUI::ActiveStudyChanged(QAD_Desktop* parent) Mb->setItemEnabled( 604, ViewOCC ); // SuppressHole Mb->setItemEnabled( 606, ViewOCC ); // CloseContour Mb->setItemEnabled( 413, ViewOCC ); // Isos Settings + Mb->setItemEnabled( 800, ViewOCC ); // Create Group + Mb->setItemEnabled( 801, ViewOCC ); // Edit Group Mb->setItemEnabled(9998, ViewOCC ); // MENU BLOCKS - MULTI-TRANSFORMATION geomGUI->EmitSignalCloseAllDialogs(); diff --git a/src/GEOMImpl/GEOMImpl_GlueDriver.cxx b/src/GEOMImpl/GEOMImpl_GlueDriver.cxx index e41b48ccb..cd65a79fc 100644 --- a/src/GEOMImpl/GEOMImpl_GlueDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_GlueDriver.cxx @@ -3,45 +3,15 @@ using namespace std; #include "GEOMImpl_GlueDriver.hxx" #include "GEOMImpl_IGlue.hxx" #include "GEOMImpl_Types.hxx" + #include "GEOM_Function.hxx" -#include -#include -#include -#include -#include -#include +#include "GEOMAlgo_Gluer.hxx" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "utilities.h" -#include -#include -#include +#include #include -#include - -//======================================================================= -//function : GetID -//purpose : -//======================================================================= -const Standard_GUID& GEOMImpl_GlueDriver::GetID() -{ - static Standard_GUID aGlueDriver("FF1BBB63-5D14-4df2-980B-3A668264EA16"); - return aGlueDriver; -} - //======================================================================= //function : GEOMImpl_GlueDriver @@ -52,100 +22,13 @@ GEOMImpl_GlueDriver::GEOMImpl_GlueDriver() } //======================================================================= -//function : FindSameFace -//purpose : for GLUE_FACES -//======================================================================= -static TopoDS_Face FindSameFace (const TopoDS_Shape& aShape, - const TopoDS_Face& F, - const double tol3d) -{ - TopoDS_Face aFace; - bool isSame = false; - for (TopExp_Explorer exf (aShape, TopAbs_FACE); exf.More(); exf.Next()) { - // test a face - int nbFound = 0; - aFace = TopoDS::Face(exf.Current()); - TopTools_ListOfShape liste1; - TopTools_ListOfShape liste2; - for (TopExp_Explorer exp (aFace, TopAbs_VERTEX); exp.More(); exp.Next()) { - const TopoDS_Vertex& V = TopoDS::Vertex(exp.Current()); - liste1.Append(V); - } - for (TopExp_Explorer exp (F, TopAbs_VERTEX); exp.More(); exp.Next()) { - const TopoDS_Vertex& V = TopoDS::Vertex(exp.Current()); - liste2.Append(V); - } - isSame = false; - if (liste1.Extent() == liste2.Extent()) - { - TopTools_ListIteratorOfListOfShape it1 (liste1); - isSame = true; - for (; it1.More(); it1.Next()) - { - bool foundSamePoint = false; - gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(it1.Value())); - TopTools_ListIteratorOfListOfShape it2 (liste2); - for (; it2.More(); it2.Next()) { - gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(it2.Value())); - double d = P1.Distance(P2); - if (d < tol3d) { - nbFound++; - // found Same Point : P1 - foundSamePoint = true; - break; - } - } - isSame = isSame && foundSamePoint; - if (! isSame) break; // a vertex does not correspond : not same face - } - } - if (isSame) { - // Found Same Face - break; // a face corresponding to F is found - } - } - if (!isSame) aFace.Nullify(); // return null face - return aFace; -} - -//======================================================================= -//function : FindSameEdge -//purpose : for GLUE_FACES +//function : GetID +//purpose : //======================================================================= -static TopoDS_Edge FindSameEdge (const TopoDS_Face& nf, - TopoDS_Edge& Eold, - const double tol3d) +const Standard_GUID& GEOMImpl_GlueDriver::GetID() { - TopoDS_Face newFace = TopoDS::Face(nf.Oriented(TopAbs_REVERSED)); - TopoDS_Vertex VFirst, VLast; - TopExp::Vertices(Eold, VFirst, VLast); - gp_Pnt Pf = BRep_Tool::Pnt(VFirst); - gp_Pnt Pl = BRep_Tool::Pnt(VLast); - TopoDS_Edge Enew; - for (TopExp_Explorer ee (newFace, TopAbs_EDGE); ee.More(); ee.Next()) { - const TopoDS_Edge& E = TopoDS::Edge(ee.Current()); - TopoDS_Vertex VFn, VLn; - TopExp::Vertices(E, VFn, VLn); - gp_Pnt Pfn = BRep_Tool::Pnt(VFn); - gp_Pnt Pln = BRep_Tool::Pnt(VLn); - double dff = Pf.Distance(Pfn); - double dfl = Pf.Distance(Pln); - double dlf = Pl.Distance(Pfn); - double dll = Pl.Distance(Pln); - if ((dff < tol3d) && (dll 0) && shellAdded) { - shellAdded = false; - its.Initialize(shellList); - for (; its.More(); its.Next()) { - S = TopoDS::Shell(its.Value()); + aGluer.Perform(); - // compare tolerance with shape's size - Bnd_Box aBox; - BRepBndLib::Add(S, aBox); - Standard_Real Xmin, Ymin, Zmin, Xmax, Ymax, Zmax; - aBox.Get(Xmin, Ymin, Zmin, Xmax, Ymax, Zmax); - Standard_Real aTolerance = theTolerance; - if (aBox.IsXThin(100. * aTolerance)) - aTolerance = 0.01 * (Xmax - Xmin); - if (aBox.IsYThin(100. * aTolerance)) - aTolerance = 0.01 * (Ymax - Ymin); - if (aBox.IsZThin(100. * aTolerance)) - aTolerance = 0.01 * (Zmax - Zmin); - if (theTolerance > aTolerance) - bigTolerance = true; - - bool isConnected = false; - TopTools_ListOfShape newEdges; // common edges from new compound - TopTools_ListOfShape oldEdges; // common edges from face to add - TopoDS_Compound CFN; - TopoDS_Compound CFO; - bu.MakeCompound(CFN); // empty compound for new faces - bu.MakeCompound(CFO); // empty compound for old faces - - for (TopExp_Explorer exp (S, TopAbs_FACE); exp.More(); exp.Next()) { - // try to find corresponding face in new compound - TopoDS_Face F = TopoDS::Face(exp.Current()); - TopoDS_Face newFace = FindSameFace(C,F,aTolerance); - if (! newFace.IsNull()) - { - // face found - isConnected = true; - bu.Add(CFN, newFace); // common faces from new compound - for (TopExp_Explorer ee (F, TopAbs_EDGE); ee.More(); ee.Next()) { - // find edge pair - TopoDS_Edge Eold = TopoDS::Edge(ee.Current()); - TopoDS_Edge Enew = FindSameEdge(newFace, Eold, aTolerance); - if (Enew.IsNull()) { - Standard_ConstructionError::Raise("Glue aborted : no same edge in same face"); - } - oldEdges.Append(Eold); - newEdges.Append(Enew); - } - } else { - bu.Add(CFO, F); // not common faces from shell to add - } - } - if (isConnected) { - // some faces found - shellAdded = true; - BRepTools_Quilt glue; - glue.Add(CFN); - TopTools_ListIteratorOfListOfShape ito (oldEdges); - TopTools_ListIteratorOfListOfShape itn (newEdges); - for (; ito.More(); ito.Next()) { - // bind - glue.Bind(TopoDS::Edge(ito.Value()), TopoDS::Edge(itn.Value())); - itn.Next(); - } - glue.Add(CFO); - TopoDS_Compound newc = TopoDS::Compound(glue.Shells()); - for (TopExp_Explorer exs (newc, TopAbs_SHELL); exs.More(); exs.Next()) { - TopoDS_Shell NS = TopoDS::Shell(exs.Current()); - bu.Add(C, NS); - } - shellList.Remove(its); - // remove shell from list + iErr = aGluer.ErrorStatus(); + if (iErr) { + switch (iErr) { + case 2: + Standard_Failure::Raise("No vertices found in source shape"); + break; + case 5: + Standard_Failure::Raise("Source shape is Null"); + break; + case 6: + Standard_Failure::Raise("Result shape is Null"); + break; + case 200: + Standard_Failure::Raise("Error occured during check of geometric coincidence"); + break; + default: + { + // description of all errors see in GEOMAlgo_Gluer.cxx + TCollection_AsciiString aMsg ("Error in GEOMAlgo_Gluer with code "); + aMsg += TCollection_AsciiString(iErr); + Standard_Failure::Raise(aMsg.ToCString()); break; } } + return aRes; } - if (shellList.Extent() > 0) { - TCollection_AsciiString aMsg - ("Some shapes can not be glued with others, because they are too far from them."); - if (bigTolerance) { - aMsg += "\n\nWarning: The tolerance is too big for some sub-shapes, 1% of sub-shape size is given instead."; + iWrn = aGluer.WarningStatus(); + if (iWrn) { + switch (iWrn) { + case 1: + MESSAGE("Some shapes can not be glued by faces"); + break; + default: + // description of all warnings see in GEOMAlgo_Gluer.cxx + MESSAGE("Warning in GEOMAlgo_Gluer with code " << iWrn); + break; } - Standard_ConstructionError::Raise(aMsg.ToCString()); } - TopExp_Explorer exp (C, TopAbs_SHELL); - Standard_Integer ish = 0; - TopoDS_Compound Res; - TopoDS_Solid Sol; - BRep_Builder B; - B.MakeCompound(Res); + aRes = aGluer.Result(); - for (; exp.More(); exp.Next()) { - TopoDS_Shape Sh = exp.Current(); - B.MakeSolid(Sol); - B.Add(Sol,Sh); - BRepClass3d_SolidClassifier SC(Sol); - SC.PerformInfinitePoint(1.E-6); // cf. BRepFill_Confusion() - BRepFill_Evolved.cxx - if (SC.State() == TopAbs_IN) { - B.MakeSolid(Sol); - B.Add(Sol,Sh.Reversed()); - } - B.Add(Res,Sol); - ish++; - } - if (ish == 1) { - aShape = Sol; - } else { - aShape = Res; - } - - BRepLib::SameParameter(aShape, 1.E-5, Standard_True); - return aShape; + return aRes; } //======================================================================= @@ -331,7 +116,6 @@ Standard_Integer GEOMImpl_GlueDriver::Execute(TFunction_Logbook& log) const Standard_Real tol3d = aCI.GetTolerance(); aShape = GlueFaces(aShapeBase, tol3d); - } else { } @@ -344,7 +128,6 @@ Standard_Integer GEOMImpl_GlueDriver::Execute(TFunction_Logbook& log) const return 1; } - //======================================================================= //function : GEOMImpl_GlueDriver_Type_ //purpose : diff --git a/src/GEOMImpl/GEOMImpl_VectorDriver.cxx b/src/GEOMImpl/GEOMImpl_VectorDriver.cxx index 312fe4b23..8544418ee 100644 --- a/src/GEOMImpl/GEOMImpl_VectorDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_VectorDriver.cxx @@ -71,12 +71,14 @@ Standard_Integer GEOMImpl_VectorDriver::Execute(TFunction_Logbook& log) const if (aShape1.IsSame(aShape2)) { Standard_ConstructionError::Raise("The end points must be different"); } - gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1)); - gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2)); + TopoDS_Vertex V1 = TopoDS::Vertex(aShape1); + TopoDS_Vertex V2 = TopoDS::Vertex(aShape2); + gp_Pnt P1 = BRep_Tool::Pnt(V1); + gp_Pnt P2 = BRep_Tool::Pnt(V2); if (P1.Distance(P2) < Precision::Confusion()) { Standard_ConstructionError::Raise("The end points are too close"); } - aShape = BRepBuilderAPI_MakeEdge(P1, P2).Shape(); + aShape = BRepBuilderAPI_MakeEdge(V1, V2).Shape(); } else { } diff --git a/src/GEOMImpl/Makefile.in b/src/GEOMImpl/Makefile.in index 05cbe7e7a..a8832db79 100644 --- a/src/GEOMImpl/Makefile.in +++ b/src/GEOMImpl/Makefile.in @@ -87,90 +87,13 @@ EXPORT_HEADERS= GEOMImpl_Gen.hxx \ GEOMImpl_IInsertOperations.hxx \ GEOMImpl_IMeasureOperations.hxx \ GEOMImpl_IGroupOperations.hxx \ - GEOMImpl_PointDriver.hxx \ - GEOMImpl_VectorDriver.hxx \ - GEOMImpl_LineDriver.hxx \ - GEOMImpl_PlaneDriver.hxx \ - GEOMImpl_MarkerDriver.hxx \ - GEOMImpl_TranslateDriver.hxx \ - GEOMImpl_MirrorDriver.hxx \ - GEOMImpl_PositionDriver.hxx \ - GEOMImpl_OffsetDriver.hxx \ - GEOMImpl_ScaleDriver.hxx \ - GEOMImpl_BoxDriver.hxx \ - GEOMImpl_ConeDriver.hxx \ - GEOMImpl_CylinderDriver.hxx \ - GEOMImpl_SphereDriver.hxx \ - GEOMImpl_TorusDriver.hxx \ - GEOMImpl_PrismDriver.hxx \ - GEOMImpl_PipeDriver.hxx \ - GEOMImpl_RevolutionDriver.hxx \ - GEOMImpl_ShapeDriver.hxx \ - GEOMImpl_BlockDriver.hxx \ - GEOMImpl_MeasureDriver.hxx \ - GEOMImpl_PolylineDriver.hxx \ - GEOMImpl_CircleDriver.hxx \ - GEOMImpl_EllipseDriver.hxx \ - GEOMImpl_ArcDriver.hxx \ - GEOMImpl_SplineDriver.hxx \ - GEOMImpl_SketcherDriver.hxx \ - GEOMImpl_FilletDriver.hxx \ - GEOMImpl_ChamferDriver.hxx \ - GEOMImpl_BooleanDriver.hxx \ - GEOMImpl_PartitionDriver.hxx \ GEOMImpl_CopyDriver.hxx \ - GEOMImpl_ExportDriver.hxx \ - GEOMImpl_ImportDriver.hxx \ - GEOMImpl_RotateDriver.hxx \ - GEOMImpl_ArchimedeDriver.hxx \ - GEOMImpl_FillingDriver.hxx \ - GEOMImpl_GlueDriver.hxx \ - GEOMImpl_IArchimede.hxx \ - GEOMImpl_IPoint.hxx \ - GEOMImpl_IVector.hxx \ - GEOMImpl_ILine.hxx \ - GEOMImpl_IPlane.hxx \ - GEOMImpl_IMarker.hxx \ - GEOMImpl_IMirror.hxx \ - GEOMImpl_IOffset.hxx \ - GEOMImpl_IScale.hxx \ - GEOMImpl_IPosition.hxx \ - GEOMImpl_IBox.hxx \ - GEOMImpl_ICone.hxx \ - GEOMImpl_ICylinder.hxx \ - GEOMImpl_ISphere.hxx \ - GEOMImpl_ITorus.hxx \ - GEOMImpl_IPrism.hxx \ - GEOMImpl_IPipe.hxx \ - GEOMImpl_IRevolution.hxx \ - GEOMImpl_IShapes.hxx \ - GEOMImpl_IBlocks.hxx \ - GEOMImpl_IMeasure.hxx \ - GEOMImpl_IPolyline.hxx \ - GEOMImpl_ICircle.hxx \ - GEOMImpl_IEllipse.hxx \ - GEOMImpl_IArc.hxx \ - GEOMImpl_ISpline.hxx \ - GEOMImpl_ISketcher.hxx \ - GEOMImpl_IFillet.hxx \ - GEOMImpl_IChamfer.hxx \ - GEOMImpl_IBoolean.hxx \ - GEOMImpl_IPartition.hxx \ - GEOMImpl_ICopy.hxx \ - GEOMImpl_IImportExport.hxx \ - GEOMImpl_ITranslate.hxx \ - GEOMImpl_IRotate.hxx \ - GEOMImpl_IBlockTrsf.hxx \ - GEOMImpl_Types.hxx \ - GEOMImpl_IHealing.hxx \ - GEOMImpl_IFilling.hxx \ - GEOMImpl_IGlue.hxx \ - GEOMImpl_HealingDriver.hxx + GEOMImpl_Types.hxx # additionnal information to compil and link file CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome $(BOOST_CPPFLAGS) CXXFLAGS += $(OCC_CXXFLAGS) -I${KERNEL_ROOT_DIR}/include/salome -LDFLAGS += -L${KERNEL_ROOT_DIR}/lib/salome $(CAS_LDPATH) -lTKCAF -lCASCatch -lGEOMbasic -lNMTAlgo -lShHealOper +LDFLAGS += -L${KERNEL_ROOT_DIR}/lib/salome $(CAS_LDPATH) -lTKCAF -lCASCatch -lGEOMbasic -lNMTAlgo -lGEOMAlgo -lShHealOper # additional file to be cleaned diff --git a/src/GEOMToolsGUI/GEOMToolsGUI.cxx b/src/GEOMToolsGUI/GEOMToolsGUI.cxx index 9be35edb9..2c6f35d7c 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI.cxx +++ b/src/GEOMToolsGUI/GEOMToolsGUI.cxx @@ -39,6 +39,7 @@ #include "QAD_MessageBox.h" #include "QAD_RightFrame.h" #include "QAD_WaitCursor.h" +#include "SALOMEGUI_Desktop.h" #include "OCCViewer_Viewer3d.h" #include "VTKViewer_ViewFrame.h" @@ -256,7 +257,18 @@ void GEOMToolsGUI::OnEditDelete() QObject::tr("BUT_OK") ); return; } - + + // VSR 17/11/04: check if all objects selected belong to GEOM component --> start + QString aParentComponent = ((SALOMEGUI_Desktop*)QAD_Application::getDesktop())->getComponentFromSelection(); + if ( aParentComponent != QAD_Application::getDesktop()->getActiveComponent() ) { + QAD_MessageBox::warn1 ( (QWidget*)QAD_Application::getDesktop(), + QObject::tr("ERR_ERROR"), + QObject::tr("NON_GEOM_OBJECTS_SELECTED").arg(QAD_Application::getDesktop()->getComponentUserName( "GEOM" )), + QObject::tr("BUT_OK") ); + return; + } + // VSR 17/11/04: check if all objects selected belong to GEOM component <-- finish + if ( QAD_MessageBox::warn2( QAD_Application::getDesktop(), tr( "GEOM_WRN_WARNING" ), tr( "GEOM_REALLY_DELETE" ), diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx index 5ef80f650..642b0d0f4 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx +++ b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx @@ -70,7 +70,7 @@ GEOMBase_NbIsosDlg::GEOMBase_NbIsosDlg(QWidget* parent, const char* name, bool m SpinBoxU = new QSpinBox( GroupC1, "SpinBoxU" ); SpinBoxU->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); - SpinBoxU->setMinValue( 1 ); + SpinBoxU->setMinValue( 0 ); SpinBoxU->setValue( 1 ); GroupC1Layout->addWidget( SpinBoxU, 0, 1 ); @@ -81,7 +81,7 @@ GEOMBase_NbIsosDlg::GEOMBase_NbIsosDlg(QWidget* parent, const char* name, bool m SpinBoxV = new QSpinBox( GroupC1, "SpinBoxV"); SpinBoxV->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); SpinBoxV->setValue( 1 ); - SpinBoxV->setMinValue( 1 ); + SpinBoxV->setMinValue( 0 ); GroupC1Layout->addWidget( SpinBoxV, 0, 3 ); /***************************************************************/ diff --git a/src/GEOM_I/GEOM_Gen_i.cc b/src/GEOM_I/GEOM_Gen_i.cc index f87278d4a..c744b4b9b 100644 --- a/src/GEOM_I/GEOM_Gen_i.cc +++ b/src/GEOM_I/GEOM_Gen_i.cc @@ -200,8 +200,26 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy, aPixmap->SetPixMap( "ICON_OBJBROWSER_VERTEX" ); aShapeName = "Vertex_"; } - if (strlen(theName) == 0) aShapeName += TCollection_AsciiString(aResultSO->Tag()); - else aShapeName = TCollection_AsciiString(strdup(theName)); + //if (strlen(theName) == 0) aShapeName += TCollection_AsciiString(aResultSO->Tag()); + //else aShapeName = TCollection_AsciiString(strdup(theName)); + + // asv : 11.11.04 Introducing a more sofisticated method of name creation, just as + // it is done in GUI in GEOMBase::GetDefaultName() - not just add a Tag() == number + // of objects in the study, but compute a number of objects with the same prefix + // and build a new name as Prefix_N+1 + if ( strlen( theName ) == 0 ) { // MOST PROBABLY CALLED FROM BATCHMODE OR SUPERVISOR + int i = 0; // (WITH EMPTY NEW NAME) + SALOMEDS::SObject_var obj; + TCollection_AsciiString aNewShapeName; + do { + aNewShapeName = aShapeName + TCollection_AsciiString(++i); + obj = theStudy->FindObject( aNewShapeName.ToCString() ); + } + while ( !obj->_is_nil() ); + aShapeName = aNewShapeName; + } + else // MOST PROBABLY CALLED FROM GEOM GUI (ALREADY WITH VALID NAME) + aShapeName = TCollection_AsciiString(strdup(theName)); //Set the study entry as a name of the published GEOM_Object aShape->SetStudyEntry(aResultSO->GetID()); diff --git a/src/GEOM_I_Superv/GEOM_List_i.hh b/src/GEOM_I_Superv/GEOM_List_i.hh new file mode 100644 index 000000000..293881e9a --- /dev/null +++ b/src/GEOM_I_Superv/GEOM_List_i.hh @@ -0,0 +1,85 @@ +#ifndef __GEOM_LIST_I_H__ +#define __GEOM_LIST_I_H__ + +// IDL headers +#include +#include CORBA_SERVER_HEADER(GEOM_Superv) + +#include "GEOM_Gen_i.hh" +#include "utilities.h" + +template +class GEOM_List_i : + public virtual POA_GEOM::GEOM_List, + public virtual PortableServer::RefCountServantBase +{ +public: + GEOM_List_i(); + GEOM_List_i(const Type& theListToCopy); + ~GEOM_List_i(); + + const Type& GetList(); + + template + void AddObject(ElemType theObject); + +private: + Type myGOList; +}; + +//============================================================================= +// constructor: +//============================================================================= +template +GEOM_List_i::GEOM_List_i() +{ + MESSAGE("GEOM_List_i::GEOM_List_i"); + //create an empty list + myGOList.length(0); +} + +//============================================================================= +// constructor: +//============================================================================= +template +GEOM_List_i::GEOM_List_i(const Type& theListToCopy) +{ + int aLength = theListToCopy.length(); + myGOList.length(aLength); + for (int i = 0; i < aLength; i++) + myGOList[i] = theListToCopy[i]; +} + +//============================================================================= +// destructor: +//============================================================================= +template +GEOM_List_i::~GEOM_List_i() +{ + MESSAGE("GEOM_List_i::~GEOM_List_i"); +} + +//============================================================================= +// GetList: +//============================================================================= +template +const Type& GEOM_List_i::GetList() +{ + MESSAGE("GEOM_List_i::GetList()"); + return myGOList; +} + +//============================================================================= +// AddObject: +//============================================================================= +template +template +void GEOM_List_i::AddObject(ElemType theObject) +{ + MESSAGE("GEOM_List_i::AddObject(...)"); + int aLength = myGOList.length(); + myGOList.length(aLength+1); + myGOList[aLength] = theObject; +} + +#endif diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index 360ad2686..445ba9b62 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -17,6 +17,10 @@ GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb, _thisObj = this ; _id = _poa->activate_object(_thisObj); name_service = new SALOME_NamingService(_orb); + //get RootPOA (the default) + //myPOA = PortableServer::RefCountServantBase::_default_POA(); + CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA"); + myPOA = PortableServer::POA::_narrow(anObj); myGeomEngine = GEOM::GEOM_Gen::_nil(); myStudyID = -1; @@ -72,6 +76,78 @@ void GEOM_Superv_i::SetStudyID( CORBA::Long theId ) myStudyID = theId; } +//============================================================================= +// CreateListOfGO: +//============================================================================= +GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO() +{ + MESSAGE("GEOM_Superv_i::CreateListOfGO()"); + GEOM_List_i* aListPtr = new GEOM_List_i(); + return aListPtr->_this(); +} + +//============================================================================= +// AddItemToListOfGO: +//============================================================================= +void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, + GEOM::GEOM_Object_ptr theObject) +{ + MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)"); + if (GEOM_List_i* aList = + dynamic_cast*>(GetServant(theList, myPOA).in())) { + aList->AddObject(theObject); + MESSAGE(" NewLength = "<GetList().length()); + } +} + +//============================================================================= +// CreateListOfLong: +//============================================================================= +GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong() +{ + MESSAGE("GEOM_Superv_i::CreateListOfLong()"); + GEOM_List_i* aListPtr = new GEOM_List_i(); + return aListPtr->_this(); +} + +//============================================================================= +// AddItemToListOfLong: +//============================================================================= +void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, + long theObject) +{ + MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)"); + if (GEOM_List_i* aList = + dynamic_cast*>(GetServant(theList, myPOA).in())) { + aList->AddObject(theObject); + MESSAGE(" NewLength = "<GetList().length()); + } +} + +//============================================================================= +// CreateListOfDouble: +//============================================================================= +GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble() +{ + MESSAGE("GEOM_Superv_i::CreateListOfDouble()"); + GEOM_List_i* aListPtr = new GEOM_List_i(); + return aListPtr->_this(); +} + +//============================================================================= +// AddItemToListOfDouble: +//============================================================================= +void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, + double theObject) +{ + MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)"); + if (GEOM_List_i* aList = + dynamic_cast*>(GetServant(theList, myPOA).in())) { + aList->AddObject(theObject); + MESSAGE(" NewLength = "<GetList().length()); + } +} + //============================================================================= // getBasicOp: //============================================================================= @@ -182,6 +258,17 @@ void GEOM_Superv_i::getGroupOp() myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID); } +//============================================================================= +// GetServant: +//============================================================================= +PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject, + PortableServer::POA_ptr thePOA) +{ + if(CORBA::is_nil(theObject)) return NULL; + PortableServer::Servant aServant = thePOA->reference_to_servant(theObject); + return aServant; +} + //============================================================================ // function : Save() // purpose : save OCAF/Geom document @@ -698,18 +785,32 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1, //============================================================================= // MakePartition: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (const GEOM::ListOfGO& theShapes, - const GEOM::ListOfGO& theTools, - const GEOM::ListOfGO& theKeepInside, - const GEOM::ListOfGO& theRemoveInside, +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes, + GEOM::GEOM_List_ptr theTools, + GEOM::GEOM_List_ptr theKeepInside, + GEOM::GEOM_List_ptr theRemoveInside, const CORBA::Short theLimit, const CORBA::Boolean theRemoveWebs, - const GEOM::ListOfLong& theMaterials) + GEOM::GEOM_List_ptr theMaterials) { MESSAGE("GEOM_Superv_i::MakePartition"); - if (CORBA::is_nil(myBoolOp)) getBoolOp(); - return myBoolOp->MakePartition(theShapes, theTools, theKeepInside, theRemoveInside, - theLimit, theRemoveWebs, theMaterials); + GEOM_List_i* aListImplS = + dynamic_cast*>(GetServant(theShapes, myPOA).in()); + GEOM_List_i* aListImplT = + dynamic_cast*>(GetServant(theTools, myPOA).in()); + GEOM_List_i* aListImplKI = + dynamic_cast*>(GetServant(theKeepInside, myPOA).in()); + GEOM_List_i* aListImplRI = + dynamic_cast*>(GetServant(theRemoveInside, myPOA).in()); + GEOM_List_i* aListImplM = + dynamic_cast*>(GetServant(theMaterials, myPOA).in()); + if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) { + if (CORBA::is_nil(myBoolOp)) getBoolOp(); + return myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(), + aListImplKI->GetList(), aListImplRI->GetList(), + theLimit, theRemoveWebs, aListImplM->GetList()); + } + return NULL; } //============================================================================= @@ -1084,11 +1185,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1, //============================================================================= // MakeWire: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (const GEOM::ListOfGO& theEdgesAndWires) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires) { MESSAGE("GEOM_Superv_i::MakeWire"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeWire(theEdgesAndWires); + if (GEOM_List_i* aListImplEW = + dynamic_cast*>(GetServant(theEdgesAndWires, myPOA).in())) { + if (CORBA::is_nil(myShapesOp)) getShapesOp(); + return myShapesOp->MakeWire(aListImplEW->GetList()); + } + return NULL; } //============================================================================= @@ -1105,22 +1210,30 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire, //============================================================================= // MakeFaceWires: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (const GEOM::ListOfGO& theWires, +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires, CORBA::Boolean isPlanarWanted) { MESSAGE("GEOM_Superv_i::MakeFaceWires"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeFaceWires(theWires, isPlanarWanted); + if (GEOM_List_i* aListImplW = + dynamic_cast*>(GetServant(theWires, myPOA).in())) { + if (CORBA::is_nil(myShapesOp)) getShapesOp(); + return myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted); + } + return NULL; } //============================================================================= // MakeShell: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (const GEOM::ListOfGO& theFacesAndShells) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells) { MESSAGE("GEOM_Superv_i::MakeShell"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeShell(theFacesAndShells); + if (GEOM_List_i* aListImplFS = + dynamic_cast*>(GetServant(theFacesAndShells, myPOA).in())) { + if (CORBA::is_nil(myShapesOp)) getShapesOp(); + return myShapesOp->MakeShell(aListImplFS->GetList()); + } + return NULL; } //============================================================================= @@ -1136,21 +1249,29 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theSh //============================================================================= // MakeSolidShells: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (const GEOM::ListOfGO& theShells) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells) { MESSAGE("GEOM_Superv_i::MakeSolidShells"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeSolidShells(theShells); + if (GEOM_List_i* aListImplS = + dynamic_cast*>(GetServant(theShells, myPOA).in())) { + if (CORBA::is_nil(myShapesOp)) getShapesOp(); + return myShapesOp->MakeSolidShells(aListImplS->GetList()); + } + return NULL; } //============================================================================= // MakeCompound: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (const GEOM::ListOfGO& theShapes) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes) { MESSAGE("GEOM_Superv_i::MakeCompound"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeCompound(theShapes); + if (GEOM_List_i* aListImpl = + dynamic_cast*>(GetServant(theShapes, myPOA).in())) { + if (CORBA::is_nil(myShapesOp)) getShapesOp(); + return myShapesOp->MakeCompound(aListImpl->GetList()); + } + return NULL; } //============================================================================= @@ -1167,13 +1288,17 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theSha //============================================================================= // MakeExplode: //============================================================================= -GEOM::ListOfGO* GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape, - const CORBA::Long theShapeType, - const CORBA::Boolean isSorted) +GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape, + const CORBA::Long theShapeType, + const CORBA::Boolean isSorted) { MESSAGE("GEOM_Superv_i::MakeExplode"); if (CORBA::is_nil(myShapesOp)) getShapesOp(); - return myShapesOp->MakeExplode(theShape, theShapeType, isSorted); + + GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted); + GEOM_List_i* aListPtr = new GEOM_List_i(*(aList)); + MESSAGE(" List of "<GetList().length()<<" element(s)"); + return aListPtr->_this(); } //============================================================================= @@ -1406,13 +1531,15 @@ char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound, //============================================================================= // ExplodeCompoundOfBlocks: //============================================================================= -GEOM::ListOfGO* GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, - const CORBA::Long theMinNbFaces, - const CORBA::Long theMaxNbFaces) +GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, + const CORBA::Long theMinNbFaces, + const CORBA::Long theMaxNbFaces) { MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks"); if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); - return myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces); + GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces); + GEOM_List_i* aListPtr = new GEOM_List_i(*(aBlocks)); + return aListPtr->_this(); } //============================================================================= @@ -1430,22 +1557,33 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr th // GetBlockByParts: //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts) + GEOM::GEOM_List_ptr theParts) { MESSAGE("GEOM_Superv_i::GetBlockByParts"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); - return myBlocksOp->GetBlockByParts(theCompound, theParts); + if (GEOM_List_i* aListImplP = + dynamic_cast*>(GetServant(theParts, myPOA).in())) { + if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + return myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList()); + } + return NULL; } //============================================================================= // GetBlocksByParts: //============================================================================= -GEOM::ListOfGO* GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts) +GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, + GEOM::GEOM_List_ptr theParts) { MESSAGE("GEOM_Superv_i::GetBlocksByParts"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); - return myBlocksOp->GetBlocksByParts(theCompound, theParts); + if (GEOM_List_i* aListImplP = + dynamic_cast*>(GetServant(theParts, myPOA).in())) { + if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + + GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList()); + GEOM_List_i* aListPtr = new GEOM_List_i(*(aBlocks)); + return aListPtr->_this(); + } + return NULL; } //============================================================================= @@ -1533,42 +1671,58 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1, //============================================================================= // MakePolyline: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (const GEOM::ListOfGO& thePoints) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints) { MESSAGE("GEOM_Superv_i::MakePolyline"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); - return myCurvesOp->MakePolyline(thePoints); + if (GEOM_List_i* aListImplP = + dynamic_cast*>(GetServant(thePoints, myPOA).in())) { + if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + return myCurvesOp->MakePolyline(aListImplP->GetList()); + } + return NULL; } //============================================================================= // MakeSplineBezier: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (const GEOM::ListOfGO& thePoints) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints) { MESSAGE("GEOM_Superv_i::MakeSplineBezier"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); - return myCurvesOp->MakeSplineBezier(thePoints); + if (GEOM_List_i* aListImplP = + dynamic_cast*>(GetServant(thePoints, myPOA).in())) { + if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + return myCurvesOp->MakeSplineBezier(aListImplP->GetList()); + } + return NULL; } //============================================================================= // MakeSplineInterpolation: //============================================================================= -GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (const GEOM::ListOfGO& thePoints) +GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints) { MESSAGE("GEOM_Superv_i::MakeSplineInterpolation"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); - return myCurvesOp->MakeSplineInterpolation(thePoints); + if (GEOM_List_i* aListImplP = + dynamic_cast*>(GetServant(thePoints, myPOA).in())) { + if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + return myCurvesOp->MakeSplineInterpolation(aListImplP->GetList()); + } + return NULL; } //============================================================================= // MakeSketcher: //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand, - const GEOM::ListOfDouble& theWorkingPlane) + GEOM::GEOM_List_ptr theWorkingPlane) { MESSAGE("GEOM_Superv_i::MakeSketcher"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); - return myCurvesOp->MakeSketcher(theCommand, theWorkingPlane); + if (GEOM_List_i* aListImplWP = + dynamic_cast*>(GetServant(theWorkingPlane, myPOA).in())) { + if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + return myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList()); + } + return NULL; } //=============================== LocalOperations ============================= @@ -1588,11 +1742,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theSha //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theEdges) + GEOM::GEOM_List_ptr theEdges) { MESSAGE("GEOM_Superv_i::MakeFilletEdges"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); - return myLocalOp->MakeFilletEdges(theShape, theR, theEdges); + if (GEOM_List_i* aListImplE = + dynamic_cast*>(GetServant(theEdges, myPOA).in())) { + if (CORBA::is_nil(myLocalOp)) getLocalOp(); + return myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList()); + } + return NULL; } //============================================================================= @@ -1600,11 +1758,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theS //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theFaces) + GEOM::GEOM_List_ptr theFaces) { MESSAGE("GEOM_Superv_i::MakeFilletFaces"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); - return myLocalOp->MakeFilletFaces(theShape, theR, theFaces); + if (GEOM_List_i* aListImplF = + dynamic_cast*>(GetServant(theFaces, myPOA).in())) { + if (CORBA::is_nil(myLocalOp)) getLocalOp(); + return myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList()); + } + return NULL; } //============================================================================= @@ -1634,11 +1796,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theS //============================================================================= GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD1, CORBA::Double theD2, - const GEOM::ListOfLong& theFaces) + GEOM::GEOM_List_ptr theFaces) { MESSAGE("GEOM_Superv_i::MakeChamferFaces"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); - return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, theFaces); + if (GEOM_List_i* aListImplF = + dynamic_cast*>(GetServant(theFaces, myPOA).in())) { + if (CORBA::is_nil(myLocalOp)) getLocalOp(); + return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList()); + } + return NULL; } //============================================================================= @@ -1722,11 +1888,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGrou //============================================================================= // GetObjects: //============================================================================= -GEOM::ListOfLong* GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup) +GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup) { MESSAGE("GEOM_Superv_i::GetObjects"); if (CORBA::is_nil(myGroupOp)) getGroupOp(); - return myGroupOp->GetObjects(theGroup); + + GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup); + GEOM_List_i* aListPtr = new GEOM_List_i(*(aList)); + MESSAGE(" List of "<GetList().length()<<" element(s)"); + return aListPtr->_this(); } //===================================================================================== diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index 67f780c10..3a3ce4596 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -6,6 +6,7 @@ #include CORBA_SERVER_HEADER(GEOM_Superv) #include "GEOM_Gen_i.hh" +#include "GEOM_List_i.hh" #include "QAD_Study.h" #include "QAD_Application.h" @@ -37,11 +38,35 @@ public: void getLocalOp(); void getGroupOp(); + PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject, + PortableServer::POA_ptr thePOA); + //-----------------------------------------------------------------------// // Set current stydy ID // //-----------------------------------------------------------------------// void SetStudyID( CORBA::Long theId ); + //-----------------------------------------------------------// + // Create ListOfGO and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfGO(); + void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, + GEOM::GEOM_Object_ptr theObject); + + //-----------------------------------------------------------// + // Create ListOfLong and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfLong(); + void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, + long theObject); + + //-----------------------------------------------------------// + // Create ListOfDouble and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfDouble(); + void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, + double theObject); + //-----------------------------------------------------------------------// // Inherited methods from SALOMEDS::Driver // //-----------------------------------------------------------------------// @@ -187,13 +212,13 @@ public: CORBA::Long theOperation); GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1, GEOM::GEOM_Object_ptr theShape2); - GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO& theShapes, - const GEOM::ListOfGO& theTools, - const GEOM::ListOfGO& theKeepInside, - const GEOM::ListOfGO& theRemoveInside, + GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes, + GEOM::GEOM_List_ptr theTools, + GEOM::GEOM_List_ptr theKeepInside, + GEOM::GEOM_List_ptr theRemoveInside, const CORBA::Short theLimit, const CORBA::Boolean theRemoveWebs, - const GEOM::ListOfLong& theMaterials); + GEOM::GEOM_List_ptr theMaterials); GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr thePlane); @@ -292,20 +317,20 @@ public: //-----------------------------------------------------------// GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2); - GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires); + GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires); GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire, CORBA::Boolean isPlanarWanted); - GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires, + GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires, CORBA::Boolean isPlanarWanted); - GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells); + GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells); GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell); - GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells); - GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes); + GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells); + GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes); GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape, const CORBA::Double theTolerance); - GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape, - const CORBA::Long theShapeType, - const CORBA::Boolean isSorted); + GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape, + const CORBA::Long theShapeType, + const CORBA::Boolean isSorted); CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape); CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape); GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape); @@ -363,15 +388,15 @@ public: GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors); char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound, const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors); - GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, - const CORBA::Long theMinNbFaces, - const CORBA::Long theMaxNbFaces); + GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, + const CORBA::Long theMinNbFaces, + const CORBA::Long theMaxNbFaces); GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound, GEOM::GEOM_Object_ptr thePoint); GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts); - GEOM::ListOfGO* GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts); + GEOM::GEOM_List_ptr theParts); + GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, + GEOM::GEOM_List_ptr theParts); GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock, const CORBA::Long theDirFace1, const CORBA::Long theDirFace2, @@ -399,11 +424,11 @@ public: GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2, GEOM::GEOM_Object_ptr thePnt3); - GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints); - GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints); - GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints); + GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints); + GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints); + GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints); GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, - const GEOM::ListOfDouble& theWorkingPlane); + const GEOM::GEOM_List_ptr theWorkingPlane); //-----------------------------------------------------------// // LocalOperations // @@ -411,16 +436,16 @@ public: GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR); GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theEdges); + GEOM::GEOM_List_ptr theEdges); GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theFaces); + GEOM::GEOM_List_ptr theFaces); GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD); GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD1, CORBA::Double theD2, CORBA::Long theFace1, CORBA::Long theFace2); GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD1, CORBA::Double theD2, - const GEOM::ListOfLong& theFaces); + GEOM::GEOM_List_ptr theFaces); GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape, CORBA::Double theWeight, CORBA::Double theWaterDensity, @@ -439,12 +464,13 @@ public: CORBA::Long theSubShapeId); CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup); GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup); - GEOM::ListOfLong* GetObjects (GEOM::GEOM_Object_ptr theGroup); + GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup); private: SALOME_NamingService * name_service; GEOM::GEOM_Gen_ptr myGeomEngine; CORBA::Long myStudyID; + PortableServer::POA_var myPOA; GEOM::GEOM_IBasicOperations_ptr myBasicOp; GEOM::GEOM_I3DPrimOperations_ptr my3DPrimOp; diff --git a/src/GEOM_I_Superv/Makefile.in b/src/GEOM_I_Superv/Makefile.in index 14c03b7bf..961912a81 100644 --- a/src/GEOM_I_Superv/Makefile.in +++ b/src/GEOM_I_Superv/Makefile.in @@ -43,7 +43,7 @@ LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOM SALOME_GenericObj.idl SALOME_ModuleCatalog.idl GEOM_Gen.idl GEOM_Superv.idl \ # Executables targets -BIN = +BIN = BIN_SRC = BIN_CLIENT_IDL = BIN_SERVER_IDL = diff --git a/src/GEOM_SWIG/GEOM_TestOthers.py b/src/GEOM_SWIG/GEOM_TestOthers.py index 9ef7d1e5e..b2524c07a 100644 --- a/src/GEOM_SWIG/GEOM_TestOthers.py +++ b/src/GEOM_SWIG/GEOM_TestOthers.py @@ -24,7 +24,7 @@ # Module : GEOM # $Header$ -def TestOtherOperations (geompy, math, BATCHMODE = None): +def TestOtherOperations (geompy, math): # MakeFaces p11 = geompy.MakeVertex( 0, 0, 0) @@ -123,14 +123,9 @@ def TestOtherOperations (geompy, math, BATCHMODE = None): geompy.Export(f12, "/tmp/testExportImport.brep", "BREP") # ExportBREP, ExportIGES, ExportSTEP - if BATCHMODE is not None: - geompy.Export(f12, "/tmp/testExportImportBREP.brep","BREP") - geompy.Export(f12, "/tmp/testExportImportIGES.iges","IGES") - geompy.Export(f12, "/tmp/testExportImportSTEP.step","STEP") - else: - geompy.ExportBREP(f12, "/tmp/testExportImportBREP.brep") - geompy.ExportIGES(f12, "/tmp/testExportImportIGES.iges") - geompy.ExportSTEP(f12, "/tmp/testExportImportSTEP.step") + geompy.ExportBREP(f12, "/tmp/testExportImportBREP.brep") + geompy.ExportIGES(f12, "/tmp/testExportImportIGES.iges") + geompy.ExportSTEP(f12, "/tmp/testExportImportSTEP.step") # Import Import = geompy.Import("/tmp/testExportImport.brep", "BREP") @@ -138,14 +133,9 @@ def TestOtherOperations (geompy, math, BATCHMODE = None): id_Import = geompy.addToStudy(Import, "Import") # ImportBREP, ImportIGES, ImportSTEP - if BATCHMODE is not None: - ImportBREP = geompy.Import("/tmp/testExportImportBREP.brep","BREP") - ImportIGES = geompy.Import("/tmp/testExportImportIGES.iges","IGES") - ImportSTEP = geompy.Import("/tmp/testExportImportSTEP.step","STEP") - else: - ImportBREP = geompy.ImportBREP("/tmp/testExportImportBREP.brep") - ImportIGES = geompy.ImportIGES("/tmp/testExportImportIGES.iges") - ImportSTEP = geompy.ImportSTEP("/tmp/testExportImportSTEP.step") + ImportBREP = geompy.ImportBREP("/tmp/testExportImportBREP.brep") + ImportIGES = geompy.ImportIGES("/tmp/testExportImportIGES.iges") + ImportSTEP = geompy.ImportSTEP("/tmp/testExportImportSTEP.step") id_ImportBREP = geompy.addToStudy(ImportBREP, "ImportBREP") id_ImportIGES = geompy.addToStudy(ImportIGES, "ImportIGES") diff --git a/src/GEOM_SWIG/GEOM_cyl2complementary.py b/src/GEOM_SWIG/GEOM_cyl2complementary.py new file mode 100755 index 000000000..97efc776e --- /dev/null +++ b/src/GEOM_SWIG/GEOM_cyl2complementary.py @@ -0,0 +1,88 @@ +#============================================================================== +# Info. +# Bug (from script, bug) : cyl2complementary_modified.py, PAL6700 +# Modified : 25/11/2004 +# Author : Kovaltchuk Alexey +# Project : PAL/SALOME +#============================================================================== + +# Import +# ------ + +import salome +import geompy +geomgui = salome.ImportComponentGUI("GEOM") + +def addToStudy(shape, name): + i = geompy.addToStudy(shape, name) + salome.sg.updateObjBrowser(0) + geomgui.createAndDisplayGO(i) + return i + +# Piece +# ----- + +# Creer la geometrie en bloc hexahedrique d'un parallelepipede troue d'une piece en forme de T composee de 2 cylindres de diametre different dont les axes se coupent orthogonalement, +# puis mailler en hexahedrique. + +gx = 0 +gy = 0 +gz = 0 + +g_dx = 250 +g_dy = 200 +g_dz = 150 + +g_rayonGrand = 70 +g_rayonPetit = 50 + +# Geometrie +# ========= + +# Le parallelepipede +# ------------------ + +p_boite = geompy.MakeBox(gx-g_dx, gy-g_dy, gz-g_dz, gx+g_dx, gy+g_dy, gz+g_dz) + +# Le grand cylindre +# ----------------- + +g_base = geompy.MakeVertex(gx-g_dx, gy, gz) +g_dir = geompy.MakeVectorDXDYDZ(1, 0, 0) +g_cyl = geompy.MakeCylinder(g_base, g_dir, g_rayonGrand, g_dx*2) + +# Le petit cylindre +# ----------------- + +c_base = geompy.MakeVertex(gx, gy, gz) +c_dir = geompy.MakeVectorDXDYDZ(0, 0, 1) +c_cyl = geompy.MakeCylinder(c_base, c_dir, g_rayonPetit, g_dz) + +# Le parallelepipede troue +# ------------------------ + +t_boite1 = geompy.MakeBoolean(p_boite , g_cyl, 2) +t_boite = geompy.MakeBoolean(t_boite1, c_cyl, 2) + +# Partitionner +# ------------ + +p_tools = [] + +p_tools.append(geompy.MakePlane(c_base, geompy.MakeVectorDXDYDZ(0, g_dz, g_dy), 10)) +p_tools.append(geompy.MakePlane(c_base, geompy.MakeVectorDXDYDZ(0, -g_dz, g_dy), 10)) + +p_tools.append(geompy.MakePlane(geompy.MakeVertex(gx-g_rayonPetit, 0, 0), geompy.MakeVectorDXDYDZ(1, 0, 0), 10)) +p_tools.append(geompy.MakePlane(geompy.MakeVertex(gx+g_rayonPetit, 0, 0), geompy.MakeVectorDXDYDZ(1, 0, 0), 10)) + +addToStudy(t_boite, "t_boite") + +p_element = geompy.MakePartition([t_boite], p_tools, [], [], 4, 0, []) + +# Compound +# -------- + +# Ajouter la piece dans l'etude +# ----------------------------- + +idpiece = addToStudy(p_element, "BoxHoled2Cylinders") diff --git a/src/GEOM_SWIG/GEOM_shellSolid.py b/src/GEOM_SWIG/GEOM_shellSolid.py new file mode 100755 index 000000000..0495979c1 --- /dev/null +++ b/src/GEOM_SWIG/GEOM_shellSolid.py @@ -0,0 +1,678 @@ +#============================================================================== +# Info. +# Bug (from script, bug) : shellSolid_modified.py, PAL6611 +# Modified : 25/11/2004 +# Author : Kovaltchuk Alexey +# Project : PAL/SALOME +#============================================================================== + +# Imports +# ------- + +import salome +import SALOMEDS + +import geompy + +# Interface with geometry +# ----------------------- + +#geom = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM") +geomgui = salome.ImportComponentGUI("GEOM") + +geom = geompy + +# Interface with study +# -------------------- + +def addToStudy(shape, name): + i = geompy.addToStudy(shape, name) + salome.sg.updateObjBrowser(0) +# geomgui.createAndDisplayGO(i) + return i + +def setName(obj): + obj.SetName(salome.orb.object_to_string(obj)) + + +def MakeVertex(x, y, z): + v = geom.MakeVertex(x, y, z) + setName(v) + return v + +def MakeEdge(v1, v2): + e = geom.MakeEdge(v1, v2) + setName(e) + return e + +def MakeArc(f, p, t): + e = geom.MakeArc(f, p, t) + setName(e) + return e + +def MakeArcCenter(c, f, t): + p = fkl(c, f, t) + e = geom.MakeArc(f, p, t) + setName(e) + return e + +# Face with 4 edges +# ----------------- + +# cf. makeTiledSurfByContour + +def MakeQuadFace(e1, e2, e3, e4): + l = [] + l.append(e1) + l.append(e2) + l.append(e3) + l.append(e4) + w = geom.MakeWire(l) + f = geom.MakeFace(w, 1) + setName(f) + return f + +# cf. makeTiledSurfBetweenTwolines + +def MakeQuadFaceEdge(e1, e2): + return fkl + +# cf. makeTiledSurfByPointsOfContour +# cf. makeMesh + +def MakeQuadFaceVertex(v1, v2, v3, v4): + l = [] + e = MakeEdge(v1, v2) + l.append(e) + e = MakeEdge(v2, v3) + l.append(e) + e = MakeEdge(v3, v4) + l.append(e) + e = MakeEdge(v4, v1) + l.append(e) + w = geom.MakeWire(l) + f = geom.MakeFace(w, 1) + setName(f) + return f + +# Solid with 6 faces +# ------------------ + +# cf. makePavedVolWithContour +# cf. makeVolWithEnvolope + +def MakeHexaSolid(f1, f2, f3, f4, f5, f6): + l = [] + l.append(f1) + l.append(f2) + l.append(f3) + l.append(f4) + l.append(f5) + l.append(f6) + s = geom.MakeShell(l) +# FKL: bad shell + l = [] + l.append(s) + s = geom.MakeSolid(l) +# FKL: MakeSolid crash + setName(s) + return s + +# cf. makeVolBetweenTwoSurfaces + +def MakeHexaSolidFace(f1, f2): + return fkl + +# Face (with 4 edges) and solid (with 6 faces) +# -------------------------------------------- + +# makeTiledSurfByRotationOfLine + +def MakeRevolution(g, pt, ve, angle): + """ + Creates a face by rotation of an edge with an angle around an axis defined by a point and a vector or + creates a solid by rotation of a face with an angle around an axis defined by a point and a vector + """ + axis = geom.MakeAxisStruct(pt.x, pt.y, pt.z, ve.x, ve.y, ve.z) + s = geom.MakeRevolution(g, axis, angle) + setName(s) + return s + +# cf. makeSurfSewingTwolines + +def MakeSewing(ls): + """ + Creates a face by sewing common edges between a list of faces or + Creates a solid by sewing common faces between a list of solids + """ + s = geom.MakeSewing(ls) + setName(s) + return s + +# cf. makeIntersectionBetweenTwoMeshes + +def MakeCommon(s1, s2): + """ + Creates the common face between 2 faces or + Creates the common solid between 2 solids + """ + s = geom.MakeBoolean(s1, s2, 1) + setName(s) + return s + +# cf. makeMerge + +def MakeFuse(s1, s2): + """ + Fuses 2 faces or 2 solids + """ + s = geom.MakeBoolean(s1, s2, 3) + setName(s) + return s + +# Additional + +def MakeCut(s1, s2): + """ + Cuts 2 faces or 2 solids + """ + s = geom.MakeBoolean(s1, s2, 2) + setName(s) + return s + +# Edge, face (with 4 edges) and solid (with 6 faces) +# -------------------------------------------------- + +# cf. makeSurfByTranslation +# cf. makeVolByTranslation + +def MakePrism(s, v): + """ + Creates a edge defined by a vertex and along a vector + Creates a face defined by a edge and along a vector + Creates a solid defined by a face and along a vector + """ + r = geom.MakePrism(s, point(0, 0, 0), v) + setName(r) + return r + +# cf. homothety + +def MakeScaleTransform(s, center, factor): + """ + Creates a homothety of a geometric object + """ + r = geom.MakeScaleTransform(s, center, factor) + setName(r) + return r + +# Vertex, edge, face (with 4 edges) and solid (with 6 faces) +# ---------------------------------------------------------- + +# cf. translate + +def MakeTranslation(s, vx, vy, vz): + """ + Translates a vertex, an edge, a face or a solid + """ + r = geom.MakeTranslation(s, vx, vy, vz) + setName(r) + return r + +# cf. rotation + +def MakeRotation(g, pt, ve, angle): + """ + Creates a rotation of the geometric object with an angle around an axis defined by a point and a vector + """ + axis = geom.MakeAxisStruct(pt.x, pt.y, pt.z, ve.x, ve.y, ve.z) + s = geom.MakeRotation(g, axis, angle) + setName(s) + return s + +# cf. symmetryByPoint + +def MakeMirrorByPoint(s, point): + """ + Creates a symmetric object by point symetry + """ + return fkl + +# cf. symmetryByLine + +def MakeMirrorByLine(s, line): + """ + Creates a symmetric object by line symetry + """ + return fkl + +# cf. symmetryByPlane + +def MakeMirrorByPlane(s, pt, ve): + """ + Creates a symmetric object by plane symetry defined by a point and a normal vector + """ + p = plane(pt, ve) + r = geom.MakeMirrorByplane(s, p) + setName(r) + return r + +# Compound +# -------- + +# Additional + +def BlockMakeCompound(ls): + """ + Creates a compound defined by a list and glue faces + """ + c = MakeCompound(ls) + r = MakeGlueFaces(c, 1.e-5) + setName(r) + return r + +# Boolean operators +# ----------------- + +def mergePointsNearBy(l, v): + """ + Modifies a list of shape by replacing all vertex near a new vextex + """ + return fkl + +# Acces operators +# --------------- + +def getCoords(v): + """ + Gets the coordinates of the vertex + """ + return fkl + +def extractBeginPoint(e): + """ + Gets the first point of an edge + """ + return fkl + +def extractEndPoint(e): + """ + Gets the second point of an edge + """ + return fkl + +# fkl more functionalities + +# Addionnal +# ========= + +# Check geometry +# -------------- + +def CheckQuadFace(f): + """ + Checks if a face has 4 edges + """ + return fkl + +def CheckHexaSolid(s): + """ + Checks if a solid has 6 faces and each faces have 4 edges + """ + return fkl + +# fkl more if other kind of solid like: tetra, penta, etc + +# point for building +# ------------------ + +def point(x, y, z): + p = geom.MakeVertex(x, y, z) + return p + +def plane(pt, dir): + p = geom.MakePlane(pt, d, 100) + return p + +# Solid +# ----- + +def MakeCylinder(center, dir, radius, height): + s = geom.MakeCylinder(center, dir, radius, height) + setName(s) + return s + +def MakeBox(p1, p2): + s = geom.MakeBoxTwoPnt(p1, p2) + setName(s) + return s + +# Compound +# -------- + +ShapeType = {"COMPOUND":0, "COMPSOLID":1, "SOLID":2, "SHELL":3, "FACE":4, "WIRE":5, "EDGE":6, "VERTEX":7, "SHAPE":8} + +def MakePartitionList(solids, tools): + """ + Creates a list of shape by a partition of a list of solids by a list of tools + """ + p = geom.Partition(solids, tools, [], [], ShapeType["SHAPE"]); + l = geom.SubShapeAll(p, ShapeType["SHAPE"]) + return l + +def MakePartition(solids, tools): + """ + Creates a partition of a list of solids by a list of tools + """ + l = MakePartitionList(solids, tools) + c = MakeCompound(l) + setName(c) + return c + +def BlockMakeMultiTranslation1D(shape, dir, step, times): + m = geom.MakeMultiTranslation1D(shape, dir, step, times) + c = MakeGlueFaces(m, 1.e-5) + setName(c) + return c + +def BlockMakeMultiTranslation2D(shape, dir1, step1, times1, dir2, step2, times2): + m = geom.MakeMultiTranslation2D(shape, dir1, step1, times1, dir2, step2, times2) + c = MakeGlueFaces(m, 1.e-5) + setName(c) + return c + +def BlockMakeMultiRotation1D(shape, dir, point, times): + m = geom.MakeMultiRotation1D(shape, dir, point, times) + c = MakeGlueFaces(m, 1.e-5) + setName(c) + return c + +def BlockMakeMultiRotation2D(shape, dir, point, angle, times1, step, times2): + m = geom.MakeMultiRotation2D(shape, dir, point, angle, times1, step, times2) + c = MakeGlueFaces(m, 1.e-5) + setName(c) + return c + +# internal +# -------- + +def MakeCompound(ls): + """ + Creates a compound defined by a list + """ + c = geom.MakeCompound(ls) + return c + +def MakeSewingShape(s, eps): + """ + Creates a shape fully sewed + """ + r = geom.MakeSewingShape(s, eps) + return r + +def MakeGlueFaces(s, eps): + """ + Touched faces are replaced by one + """ + r = geom.MakeGlueFaces(s, eps) + return r + + +# Geometry +# ======== + +# A small cube centered and put on a great cube + +# Points +# ------ + +greatPoint111 = point( 0, 0, 0) +greatPoint211 = point(10, 0, 0) +greatPoint311 = point(20, 0, 0) +greatPoint411 = point(30, 0, 0) + +greatPoint121 = point( 0, 10, 0) +greatPoint221 = point(10, 10, 0) +greatPoint321 = point(20, 10, 0) +greatPoint421 = point(30, 10, 0) + +greatPoint112 = point( 0, 0, 10) +greatPoint212 = point(10, 0, 10) +greatPoint312 = point(20, 0, 10) +greatPoint412 = point(30, 0, 10) + +greatPoint122 = point( 0, 10, 10) +greatPoint222 = point(10, 10, 10) +greatPoint322 = point(20, 10, 10) +greatPoint422 = point(30, 10, 10) + +greatPoint113 = point( 0, 0, 20) +greatPoint213 = point(10, 0, 20) +greatPoint313 = point(20, 0, 20) +greatPoint413 = point(30, 0, 20) + +greatPoint123 = point( 0, 10, 20) +greatPoint223 = point(10, 10, 20) +greatPoint323 = point(20, 10, 20) +greatPoint423 = point(30, 10, 20) + +greatPoint114 = point( 0, 0, 30) +greatPoint214 = point(10, 0, 30) +greatPoint314 = point(20, 0, 30) +greatPoint414 = point(30, 0, 30) + +greatPoint124 = point( 0, 10, 30) +greatPoint224 = point(10, 10, 30) +greatPoint324 = point(20, 10, 30) +greatPoint424 = point(30, 10, 30) + + +smallPoint111 = greatPoint222 +smallPoint211 = greatPoint322 +smallPoint121 = point(10, 20, 10) +smallPoint221 = point(20, 20, 10) + +smallPoint112 = greatPoint223 +smallPoint212 = greatPoint323 +smallPoint122 = point(10, 20, 20) +smallPoint222 = point(20, 20, 20) + +# Edges +# ----- + +smallEdgeX11 = MakeEdge(smallPoint111, smallPoint211) +smallEdgeX21 = MakeEdge(smallPoint121, smallPoint221) +smallEdgeX12 = MakeEdge(smallPoint112, smallPoint212) +smallEdgeX22 = MakeEdge(smallPoint122, smallPoint222) + +smallEdgeY11 = MakeEdge(smallPoint111, smallPoint121) +smallEdgeY21 = MakeEdge(smallPoint211, smallPoint221) +smallEdgeY12 = MakeEdge(smallPoint112, smallPoint122) +smallEdgeY22 = MakeEdge(smallPoint212, smallPoint222) + +smallEdgeZ11 = MakeEdge(smallPoint111, smallPoint112) +smallEdgeZ21 = MakeEdge(smallPoint211, smallPoint212) +smallEdgeZ12 = MakeEdge(smallPoint121, smallPoint122) +smallEdgeZ22 = MakeEdge(smallPoint221, smallPoint222) + + +greatEdgeX111 = MakeEdge(greatPoint111, greatPoint211) +greatEdgeX211 = MakeEdge(greatPoint211, greatPoint311) +greatEdgeX311 = MakeEdge(greatPoint311, greatPoint411) +greatEdgeX121 = MakeEdge(greatPoint121, greatPoint221) +greatEdgeX221 = MakeEdge(greatPoint221, greatPoint321) +greatEdgeX321 = MakeEdge(greatPoint321, greatPoint421) + +greatEdgeX112 = MakeEdge(greatPoint112, greatPoint212) +greatEdgeX212 = MakeEdge(greatPoint212, greatPoint312) +greatEdgeX312 = MakeEdge(greatPoint312, greatPoint412) +greatEdgeX122 = MakeEdge(greatPoint122, greatPoint222) +greatEdgeX222 = smallEdgeX11 +greatEdgeX322 = MakeEdge(greatPoint322, greatPoint422) + +greatEdgeX113 = MakeEdge(greatPoint113, greatPoint213) +greatEdgeX213 = MakeEdge(greatPoint213, greatPoint313) +greatEdgeX313 = MakeEdge(greatPoint313, greatPoint413) +greatEdgeX123 = MakeEdge(greatPoint123, greatPoint223) +greatEdgeX223 = smallEdgeX12 +greatEdgeX323 = MakeEdge(greatPoint323, greatPoint423) + +greatEdgeX114 = MakeEdge(greatPoint114, greatPoint214) +greatEdgeX214 = MakeEdge(greatPoint214, greatPoint314) +greatEdgeX314 = MakeEdge(greatPoint314, greatPoint414) +greatEdgeX124 = MakeEdge(greatPoint124, greatPoint224) +greatEdgeX224 = MakeEdge(greatPoint224, greatPoint324) +greatEdgeX324 = MakeEdge(greatPoint324, greatPoint424) + +greatEdgeY11 = MakeEdge(greatPoint111, greatPoint121) +greatEdgeY21 = MakeEdge(greatPoint211, greatPoint221) +greatEdgeY31 = MakeEdge(greatPoint311, greatPoint321) +greatEdgeY41 = MakeEdge(greatPoint411, greatPoint421) + +greatEdgeY12 = MakeEdge(greatPoint112, greatPoint122) +greatEdgeY22 = MakeEdge(greatPoint212, greatPoint222) +greatEdgeY32 = MakeEdge(greatPoint312, greatPoint322) +greatEdgeY42 = MakeEdge(greatPoint412, greatPoint422) + +greatEdgeY13 = MakeEdge(greatPoint113, greatPoint123) +greatEdgeY23 = MakeEdge(greatPoint213, greatPoint223) +greatEdgeY33 = MakeEdge(greatPoint313, greatPoint323) +greatEdgeY43 = MakeEdge(greatPoint413, greatPoint423) + +greatEdgeY14 = MakeEdge(greatPoint114, greatPoint124) +greatEdgeY24 = MakeEdge(greatPoint214, greatPoint224) +greatEdgeY34 = MakeEdge(greatPoint314, greatPoint324) +greatEdgeY44 = MakeEdge(greatPoint414, greatPoint424) + +greatEdgeZ111 = MakeEdge(greatPoint111, greatPoint112) +greatEdgeZ211 = MakeEdge(greatPoint211, greatPoint212) +greatEdgeZ311 = MakeEdge(greatPoint311, greatPoint312) +greatEdgeZ411 = MakeEdge(greatPoint411, greatPoint412) + +greatEdgeZ121 = MakeEdge(greatPoint121, greatPoint122) +greatEdgeZ221 = MakeEdge(greatPoint221, greatPoint222) +greatEdgeZ321 = MakeEdge(greatPoint321, greatPoint322) +greatEdgeZ421 = MakeEdge(greatPoint421, greatPoint422) + +greatEdgeZ112 = MakeEdge(greatPoint112, greatPoint113) +greatEdgeZ212 = MakeEdge(greatPoint212, greatPoint213) +greatEdgeZ312 = MakeEdge(greatPoint312, greatPoint313) +greatEdgeZ412 = MakeEdge(greatPoint412, greatPoint413) + +greatEdgeZ122 = MakeEdge(greatPoint122, greatPoint123) +greatEdgeZ222 = smallEdgeZ11 +greatEdgeZ322 = smallEdgeZ21 +greatEdgeZ422 = MakeEdge(greatPoint422, greatPoint423) + +greatEdgeZ113 = MakeEdge(greatPoint113, greatPoint114) +greatEdgeZ213 = MakeEdge(greatPoint213, greatPoint214) +greatEdgeZ313 = MakeEdge(greatPoint313, greatPoint314) +greatEdgeZ413 = MakeEdge(greatPoint413, greatPoint414) + +greatEdgeZ123 = MakeEdge(greatPoint123, greatPoint124) +greatEdgeZ223 = MakeEdge(greatPoint223, greatPoint224) +greatEdgeZ323 = MakeEdge(greatPoint323, greatPoint324) +greatEdgeZ423 = MakeEdge(greatPoint423, greatPoint424) + +# Faces +# ----- + +smallFaceX1 = MakeQuadFace(smallEdgeY11, smallEdgeZ11, smallEdgeY12, smallEdgeZ12) +smallFaceX2 = MakeQuadFace(smallEdgeY21, smallEdgeZ21, smallEdgeY22, smallEdgeZ22) +smallFaceY1 = MakeQuadFace(smallEdgeX11, smallEdgeZ11, smallEdgeX12, smallEdgeZ21) +smallFaceY2 = MakeQuadFace(smallEdgeX21, smallEdgeZ12, smallEdgeX22, smallEdgeZ22) +smallFaceZ1 = MakeQuadFace(smallEdgeX11, smallEdgeY11, smallEdgeX21, smallEdgeY21) +smallFaceZ2 = MakeQuadFace(smallEdgeX12, smallEdgeY12, smallEdgeX22, smallEdgeY22) + + +greatFaceX11 = MakeQuadFace(greatEdgeY11, greatEdgeZ111, greatEdgeY12, greatEdgeZ121) +greatFaceX21 = MakeQuadFace(greatEdgeY21, greatEdgeZ211, greatEdgeY22, greatEdgeZ221) +greatFaceX31 = MakeQuadFace(greatEdgeY31, greatEdgeZ311, greatEdgeY32, greatEdgeZ321) +greatFaceX41 = MakeQuadFace(greatEdgeY41, greatEdgeZ411, greatEdgeY42, greatEdgeZ421) + +greatFaceX12 = MakeQuadFace(greatEdgeY12, greatEdgeZ112, greatEdgeY13, greatEdgeZ122) +greatFaceX22 = MakeQuadFace(greatEdgeY22, greatEdgeZ212, greatEdgeY23, greatEdgeZ222) +greatFaceX32 = MakeQuadFace(greatEdgeY32, greatEdgeZ312, greatEdgeY33, greatEdgeZ322) +greatFaceX42 = MakeQuadFace(greatEdgeY42, greatEdgeZ412, greatEdgeY43, greatEdgeZ422) + +greatFaceX13 = MakeQuadFace(greatEdgeY13, greatEdgeZ113, greatEdgeY14, greatEdgeZ123) +greatFaceX23 = MakeQuadFace(greatEdgeY23, greatEdgeZ213, greatEdgeY24, greatEdgeZ223) +greatFaceX33 = MakeQuadFace(greatEdgeY33, greatEdgeZ313, greatEdgeY34, greatEdgeZ323) +greatFaceX43 = MakeQuadFace(greatEdgeY43, greatEdgeZ413, greatEdgeY44, greatEdgeZ423) + +greatFaceY111 = MakeQuadFace(greatEdgeX111, greatEdgeZ111, greatEdgeX112, greatEdgeZ211) +greatFaceY211 = MakeQuadFace(greatEdgeX211, greatEdgeZ211, greatEdgeX212, greatEdgeZ311) +greatFaceY311 = MakeQuadFace(greatEdgeX311, greatEdgeZ311, greatEdgeX312, greatEdgeZ411) +greatFaceY121 = MakeQuadFace(greatEdgeX121, greatEdgeZ121, greatEdgeX122, greatEdgeZ221) +greatFaceY221 = MakeQuadFace(greatEdgeX221, greatEdgeZ221, greatEdgeX222, greatEdgeZ321) +greatFaceY321 = MakeQuadFace(greatEdgeX321, greatEdgeZ321, greatEdgeX322, greatEdgeZ421) + +greatFaceY112 = MakeQuadFace(greatEdgeX112, greatEdgeZ112, greatEdgeX113, greatEdgeZ212) +greatFaceY212 = MakeQuadFace(greatEdgeX212, greatEdgeZ212, greatEdgeX213, greatEdgeZ312) +greatFaceY312 = MakeQuadFace(greatEdgeX312, greatEdgeZ312, greatEdgeX313, greatEdgeZ412) +greatFaceY122 = MakeQuadFace(greatEdgeX122, greatEdgeZ122, greatEdgeX123, greatEdgeZ222) +greatFaceY222 = smallFaceY1 +greatFaceY322 = MakeQuadFace(greatEdgeX322, greatEdgeZ322, greatEdgeX323, greatEdgeZ422) + +greatFaceY113 = MakeQuadFace(greatEdgeX113, greatEdgeZ113, greatEdgeX114, greatEdgeZ213) +greatFaceY213 = MakeQuadFace(greatEdgeX213, greatEdgeZ213, greatEdgeX214, greatEdgeZ313) +greatFaceY313 = MakeQuadFace(greatEdgeX313, greatEdgeZ313, greatEdgeX314, greatEdgeZ413) +greatFaceY123 = MakeQuadFace(greatEdgeX123, greatEdgeZ123, greatEdgeX124, greatEdgeZ223) +greatFaceY223 = MakeQuadFace(greatEdgeX223, greatEdgeZ223, greatEdgeX224, greatEdgeZ323) +greatFaceY323 = MakeQuadFace(greatEdgeX323, greatEdgeZ323, greatEdgeX324, greatEdgeZ423) + +greatFaceZ11 = MakeQuadFace(greatEdgeX111, greatEdgeY11, greatEdgeX121, greatEdgeY21) +greatFaceZ21 = MakeQuadFace(greatEdgeX211, greatEdgeY21, greatEdgeX221, greatEdgeY31) +greatFaceZ31 = MakeQuadFace(greatEdgeX311, greatEdgeY31, greatEdgeX321, greatEdgeY41) + +greatFaceZ12 = MakeQuadFace(greatEdgeX112, greatEdgeY12, greatEdgeX122, greatEdgeY22) +greatFaceZ22 = MakeQuadFace(greatEdgeX212, greatEdgeY22, greatEdgeX222, greatEdgeY32) +greatFaceZ32 = MakeQuadFace(greatEdgeX312, greatEdgeY32, greatEdgeX322, greatEdgeY42) + +greatFaceZ13 = MakeQuadFace(greatEdgeX113, greatEdgeY13, greatEdgeX123, greatEdgeY23) +greatFaceZ23 = MakeQuadFace(greatEdgeX213, greatEdgeY23, greatEdgeX223, greatEdgeY33) +greatFaceZ33 = MakeQuadFace(greatEdgeX313, greatEdgeY33, greatEdgeX323, greatEdgeY43) + +greatFaceZ14 = MakeQuadFace(greatEdgeX114, greatEdgeY14, greatEdgeX124, greatEdgeY24) +greatFaceZ24 = MakeQuadFace(greatEdgeX214, greatEdgeY24, greatEdgeX224, greatEdgeY34) +greatFaceZ34 = MakeQuadFace(greatEdgeX314, greatEdgeY34, greatEdgeX324, greatEdgeY44) + +# Solids +# ------ + +smallBlock = MakeHexaSolid(smallFaceX1, smallFaceX2, smallFaceY1, smallFaceY2, smallFaceZ1, smallFaceZ2) + +greatBlock11 = MakeHexaSolid(greatFaceX11, greatFaceX21, greatFaceY111, greatFaceY121, greatFaceZ11, greatFaceZ12) +greatBlock21 = MakeHexaSolid(greatFaceX21, greatFaceX31, greatFaceY211, greatFaceY221, greatFaceZ21, greatFaceZ22) +greatBlock31 = MakeHexaSolid(greatFaceX31, greatFaceX41, greatFaceY311, greatFaceY321, greatFaceZ31, greatFaceZ32) + +greatBlock12 = MakeHexaSolid(greatFaceX12, greatFaceX22, greatFaceY112, greatFaceY122, greatFaceZ12, greatFaceZ13) +greatBlock22 = MakeHexaSolid(greatFaceX22, greatFaceX32, greatFaceY212, greatFaceY222, greatFaceZ22, greatFaceZ23) +greatBlock32 = MakeHexaSolid(greatFaceX32, greatFaceX42, greatFaceY312, greatFaceY322, greatFaceZ32, greatFaceZ33) + +greatBlock13 = MakeHexaSolid(greatFaceX13, greatFaceX23, greatFaceY113, greatFaceY123, greatFaceZ13, greatFaceZ14) +greatBlock23 = MakeHexaSolid(greatFaceX23, greatFaceX33, greatFaceY213, greatFaceY223, greatFaceZ23, greatFaceZ24) +greatBlock33 = MakeHexaSolid(greatFaceX33, greatFaceX43, greatFaceY313, greatFaceY323, greatFaceZ33, greatFaceZ34) + +# Compound +# -------- + +l = [] +l.append(smallBlock) +l.append(greatBlock11) +l.append(greatBlock21) +l.append(greatBlock31) +l.append(greatBlock12) +l.append(greatBlock22) +l.append(greatBlock32) +l.append(greatBlock13) +l.append(greatBlock23) +l.append(greatBlock33) + +piece = MakeCompound(l) + +# Add in study +# ------------ + +idpiece = addToStudy(piece, "Cubes2pyGibi") +#geom.InsertOp.Export(piece,"piece.brep", "BREP") diff --git a/src/GEOM_SWIG/GEOM_tube_geom.py b/src/GEOM_SWIG/GEOM_tube_geom.py new file mode 100755 index 000000000..b91935223 --- /dev/null +++ b/src/GEOM_SWIG/GEOM_tube_geom.py @@ -0,0 +1,151 @@ +#============================================================================== +# Info. +# Bug (from script, bug) : tube_geom_corrected.py, PAL5243 +# Modified : 25/11/2004 +# Author : Kovaltchuk Alexey +# Project : PAL/SALOME +#============================================================================== +# +# Geometrie du cas test +# +import salome +from geompy import * + +# +# base de l'assemblage +# +L_base = 300. +l_base = 150. +h_base = 75. +e_base = 6. + +base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base) +base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base) +base_front = MakeBox(0,0,0,L_base,e_base,h_base) +base_rear = MakeTranslation(base_front,0.,l_base,0.) + +tmp = MakeBoolean(base_top,base_rear,3) +tmp = MakeBoolean(tmp,base_bot,3) +base = MakeBoolean(tmp,base_front,3) + +addToStudy(base,"base") +# +# traverse +# +L_trav = 60. +h_trav = 300. +e_trav = 7. +marge = 15. + +flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav) +flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.) +flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav) +flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.) + +tmp = MakeBoolean(flange_left,flange_rear,3) +tmp = MakeBoolean(tmp,flange_right,3) +flange = MakeBoolean(tmp,flange_front,3) +# +# left chamfer +# +import math +length = e_trav/math.sin(math.pi/4.) +p1 = MakeVertex(0,0,0) +p2 = MakeVertex(0,1,0) +yaxis = MakeVector(p1, p2) +cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length) +cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.) +cut_left = MakeTranslation(cut_left,e_trav,0.,0.) +# +# right chamfer +# +symPlaneYZ = MakePlane( + MakeVertex(L_trav/2.,0.,0.), + MakeVector(p1,MakeVertex(1.,0.,0.)), 10000. ) +cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ) +# +# front chamfer +# +xaxis = MakeVector(p1,MakeVertex(1.,0.,0.)) +cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length) +cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.) +cut_front = MakeTranslation(cut_front,0.,e_trav,0.) +# +# rear chamfer +# +symPlaneXZ = MakePlane( + MakeVertex(0.,L_trav/2.,0.), + MakeVector(p1,MakeVertex(0.,1.,0.)), 10000. ) +cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ) +# +# chamfer +# +trav = MakeBoolean(flange,cut_left,2) +trav = MakeBoolean(trav,cut_right,2) +trav = MakeBoolean(trav,cut_front,2) +trav = MakeBoolean(trav,cut_rear,2) +trav = MakeTranslation(trav, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +addToStudy(trav,"trav") +# +# Welding +# +ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.) +weld_left = MakeBoolean(cut_left,ground,2) +weld_right = MakeBoolean(cut_right,ground,2) +weld_front = MakeBoolean(cut_front,ground,2) +weld_rear = MakeBoolean(cut_rear,ground,2) +# +# Assembly +# +coarse_weld = MakeBoolean(weld_left,weld_rear,3) +coarse_weld = MakeBoolean(coarse_weld,weld_right,3) +coarse_weld = MakeBoolean(coarse_weld,weld_front,3) +# +# Cleaners +# +left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge) +left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.) +left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge) + +right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ) + +front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge) +front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.) +front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge) + +rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ) +# +# Welding +# +weld = MakeBoolean(coarse_weld,left_cleaner,2) +weld = MakeBoolean(weld,rear_cleaner,2) +weld = MakeBoolean(weld,right_cleaner,2) +weld = MakeBoolean(weld,front_cleaner,2) +weld = MakeTranslation(weld, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +weldId = addToStudy(weld,"weld") +# +# Assembly +# +assemblage = Partition([base ,weld ,trav]) +assemblageId = addToStudy(assemblage, "assemblage") +salome.sg.updateObjBrowser(1) +# +# Display +# +## gg.createAndDisplayGO(assemblageId) +## gg.createAndDisplayGO(baseId) +## gg.setTransparency(baseId,0.5) +## gg.setDisplayMode(baseId,1) +## gg.setColor(baseId,255,0,0) +## gg.createAndDisplayGO(travId) +## gg.setTransparency(travId,0.5) +## gg.setDisplayMode(travId,1) +## gg.setColor(travId,0,255,0) + + diff --git a/src/GEOM_SWIG/GEOM_tube_geom_gg2.py b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py new file mode 100755 index 000000000..29f77815f --- /dev/null +++ b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py @@ -0,0 +1,157 @@ +#============================================================================== +# Info. +# Bug (from script, bug) : tube_geom_gg2_corrected.py, PAL5243 +# Modified : 25/11/2004 +# Author : Kovaltchuk Alexey +# Project : PAL/SALOME +#============================================================================== +# +# Geometrie du cas test +# + +from geompy import * +import salome +# +# base de l'assemblage +# +L_base = 300. +l_base = 150. +h_base = 75. +e_base = 6. + +base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base) +base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base) +base_front = MakeBox(0,0,0,L_base,e_base,h_base) +base_rear = MakeTranslation(base_front,0.,l_base,0.) + +tmp = MakeBoolean(base_top,base_rear,3) +tmp = MakeBoolean(tmp,base_bot,3) +base = MakeBoolean(tmp,base_front,3) + +baseId = addToStudy(base,"base") +# +# traverse +# +L_trav = 60. +h_trav = 300. +e_trav = 7. +marge = 15. + +flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav) +flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.) +flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav) +flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.) + +tmp = MakeBoolean(flange_left,flange_rear,3) +tmp = MakeBoolean(tmp,flange_right,3) +flange = MakeBoolean(tmp,flange_front,3) +# +# left chamfer +# +import math +length = e_trav/math.sin(math.pi/4.) +yaxis = MakeVectorDXDYDZ(0.,1.,0.) +cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length) +cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.) +cut_left = MakeTranslation(cut_left,e_trav,0.,0.) +# +# right chamfer +# +symPlaneYZ = MakePlane( + MakeVertex(L_trav/2.,0.,0.), + MakeVectorDXDYDZ(1.,0.,0.), 10000. ) +cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ) +# +# front chamfer +# +xaxis = MakeVectorDXDYDZ(1.,0.,0.) +cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length) +cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.) +cut_front = MakeTranslation(cut_front,0.,e_trav,0.) +# +# rear chamfer +# +symPlaneXZ = MakePlane( + MakeVertex(0.,L_trav/2.,0.), + MakeVectorDXDYDZ(0.,1.,0.), 10000. ) +cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ) +# +# chamfer +# +trav = MakeBoolean(flange,cut_left,2) +trav = MakeBoolean(trav,cut_right,2) +trav = MakeBoolean(trav,cut_front,2) +trav = MakeBoolean(trav,cut_rear,2) +trav = MakeTranslation(trav, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +travId = addToStudy(trav,"trav") +# +# Welding +# +ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.) +weld_left = MakeBoolean(cut_left,ground,2) +weld_right = MakeBoolean(cut_right,ground,2) +weld_front = MakeBoolean(cut_front,ground,2) +weld_rear = MakeBoolean(cut_rear,ground,2) +# +# Assembly +# +coarse_weld = MakeBoolean(weld_left,weld_rear,3) +coarse_weld = MakeBoolean(coarse_weld,weld_right,3) +coarse_weld = MakeBoolean(coarse_weld,weld_front,3) +# +# Cleaners +# +left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge) +left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.) +left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge) + +right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ) + +front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge) +front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.) +front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge) + +rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ) +# +# Welding +# +weld = MakeBoolean(coarse_weld,left_cleaner,2) +weld = MakeBoolean(weld,rear_cleaner,2) +weld = MakeBoolean(weld,right_cleaner,2) +weld = MakeBoolean(weld,front_cleaner,2) +weld = MakeTranslation(weld, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +weldId = addToStudy(weld,"weld") +# +# Assembly +# +#assemblage = MakePartition([base.,weld.GetName()]) +assemblage = MakePartition([base,weld]) +addToStudy(assemblage, "base+weld") +#print assemblage.GetName() +#print trav.GetName() +#assemblage = MakePartition([assemblage.GetName(),trav.GetName()]) +assemblage = MakePartition([assemblage,trav]) +assemblageId = addToStudy(assemblage, "assemblage") + +# +# Display +# +gg.createAndDisplayGO(baseId) +gg.setTransparency(baseId,0.5) +gg.setDisplayMode(baseId,1) +gg.setColor(baseId,255,0,0) +gg.createAndDisplayGO(travId) +gg.setTransparency(travId,0.5) +gg.setDisplayMode(travId,1) +gg.setColor(travId,255,0,0) +gg.createAndDisplayGO(weldId) +gg.setTransparency(weldId,0.5) +gg.setDisplayMode(weldId,1) +gg.setColor(weldId,0,0,255) + diff --git a/src/GEOM_SWIG/Makefile.in b/src/GEOM_SWIG/Makefile.in index 51fb02ed1..e5d22faab 100644 --- a/src/GEOM_SWIG/Makefile.in +++ b/src/GEOM_SWIG/Makefile.in @@ -62,6 +62,10 @@ EXPORT_PYSCRIPTS = \ GEOM_Partition3.py \ GEOM_Partition4.py \ GEOM_Partition5.py \ + GEOM_cyl2complementary.py \ + GEOM_shellSolid.py \ + GEOM_tube_geom.py \ + GEOM_tube_geom_gg2.py \ GEOM_Sketcher.py LIB_CLIENT_IDL = SALOMEDS.idl \ diff --git a/src/GEOM_SWIG/batchmode_geompy.py b/src/GEOM_SWIG/batchmode_geompy.py index 93e695b96..ab0a90fe8 100644 --- a/src/GEOM_SWIG/batchmode_geompy.py +++ b/src/GEOM_SWIG/batchmode_geompy.py @@ -49,19 +49,15 @@ if father is None: aPixmap.SetPixMap("ICON_OBJBROWSER_Geometry") myBuilder.DefineComponentInstance(father,geom) -# ----------------------------------------------------------------------------- -# add To Study -# ----------------------------------------------------------------------------- - +# * Get name for sub-shape aSubObj of shape aMainObj +# def SubShapeName(aSubObj, aMainObj): name = "SubShape" print name return name -# ----------------------------------------------------------------------------- -# Operations -# ----------------------------------------------------------------------------- - +# * Publish in study aShape with name aName +# def addToStudy(aShape, aName): try: aSObject = geom.AddInStudy(myStudy, aShape, aName, None) @@ -70,11 +66,11 @@ def addToStudy(aShape, aName): return "" return aShape.GetStudyEntry() +# * Publish in study aShape with name aName as sub-object of previously published aFather +# def addToStudyInFather(aFather, aShape, aName): try: -# myBuilder.NewCommand() aSObject = geom.AddInStudy(myStudy, aShape, aName, aFather) -# myBuilder.CommitCommand() except: print "addToStudyInFather() failed" return "" @@ -762,11 +758,29 @@ def Import(filename, formatname): print "Import : ", InsertOp.GetErrorCode() return anObj +def ImportBREP(theFileName): + return Import(theFileName, "BREP") + +def ImportIGES(theFileName): + return Import(theFileName, "IGES") + +def ImportSTEP(theFileName): + return Import(theFileName, "STEP") + def Export(aShape, filename, formatname): InsertOp.Export(aShape, filename, formatname) if InsertOp.IsDone() == 0: print "Export : ", InsertOp.GetErrorCode() +def ExportBREP(theObject, theFileName): + return Export(theObject, theFileName, "BREP") + +def ExportIGES(theObject, theFileName): + return Export(theObject, theFileName, "IGES") + +def ExportSTEP(theObject, theFileName): + return Export(theObject, theFileName, "STEP") + # ----------------------------------------------------------------------------- # Block operations # ----------------------------------------------------------------------------- diff --git a/src/Makefile.in b/src/Makefile.in index 7fed1dceb..bf9b91068 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -32,6 +32,6 @@ VPATH=.:@srcdir@ @COMMENCE@ -SUBDIRS = OBJECT ARCHIMEDE NMTDS NMTTools NMTAlgo SKETCHER PARTITION GEOM BREPExport BREPImport IGESExport IGESImport STEPExport STEPImport ShHealOper GEOMImpl GEOM_I GEOMClient DlgRef GEOMFiltersSelection GEOMGUI GEOMBase DisplayGUI GEOMToolsGUI BasicGUI PrimitiveGUI GenerationGUI EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI RepairGUI MeasureGUI GroupGUI BlocksGUI GEOM_SWIG GEOM_I_Superv +SUBDIRS = OBJECT ARCHIMEDE NMTDS NMTTools NMTAlgo GEOMAlgo SKETCHER PARTITION GEOM BREPExport BREPImport IGESExport IGESImport STEPExport STEPImport ShHealOper GEOMImpl GEOM_I GEOMClient DlgRef GEOMFiltersSelection GEOMGUI GEOMBase DisplayGUI GEOMToolsGUI BasicGUI PrimitiveGUI GenerationGUI EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI RepairGUI MeasureGUI GroupGUI BlocksGUI GEOM_SWIG GEOM_I_Superv @MODULE@