Back to index

salome-geom  6.5.0
Defines | Functions
GEOMImpl_Block6Explorer.cxx File Reference
#include <Standard_Stream.hxx>
#include <GEOMImpl_Block6Explorer.hxx>
#include <ShHealOper_ShapeProcess.hxx>
#include "utilities.h"
#include <Basics_OCCTVersion.hxx>
#include <BRep_Tool.hxx>
#include <BRep_TFace.hxx>
#include <BRep_Builder.hxx>
#include <BRepLib.hxx>
#include <BRepLib_FindSurface.hxx>
#include <BRepTools.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <BRepOffsetAPI_ThruSections.hxx>
#include <BRepOffsetAPI_MakeFilling.hxx>
#include <BRepCheck_Analyzer.hxx>
#include <BRepBuilderAPI_Copy.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepBuilderAPI_MakeWire.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepBuilderAPI_Transform.hxx>
#include <TopAbs.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Solid.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <Geom_Curve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomFill_Generator.hxx>
#include <gce_MakePln.hxx>
#include <Precision.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pln.hxx>
#include <TColgp_Array1OfPnt.hxx>
#include <StdFail_NotDone.hxx>
#include <Standard_NullObject.hxx>
#include <Standard_TypeMismatch.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_NoSuchObject.hxx>

Go to the source code of this file.

Defines

#define NBFACES   6
#define NBEDGES   12
#define NBVERTS   8
#define PLANAR_FACE_MAX_TOLERANCE   1e-06

Functions

static Standard_Integer mod4 (Standard_Integer nb)
static Standard_Integer edge_id (const Standard_Integer theFaceID, const Standard_Integer theEdgeNB)
static Standard_Integer side_edge_id (const Standard_Integer theEdgeNB)
static Standard_Integer vertex_id (const Standard_Integer theFaceID, const Standard_Integer theVertexNB)
static Standard_Integer vertex_id_edge (const Standard_Integer theEdgeID, const Standard_Integer theVertexNB)
static Standard_Integer face_id_edges (const Standard_Integer theEdge1ID, const Standard_Integer theEdge2ID)
static Standard_Integer edge_id_vertices (const Standard_Integer theVertex1ID, const Standard_Integer theVertex2ID)
static Standard_Integer edge_id_faces (const Standard_Integer theFace1ID, const Standard_Integer theFace2ID)

Define Documentation

#define NBEDGES   12

Definition at line 81 of file GEOMImpl_Block6Explorer.cxx.

#define NBFACES   6

Definition at line 80 of file GEOMImpl_Block6Explorer.cxx.

#define NBVERTS   8

Definition at line 82 of file GEOMImpl_Block6Explorer.cxx.

#define PLANAR_FACE_MAX_TOLERANCE   1e-06

Definition at line 84 of file GEOMImpl_Block6Explorer.cxx.


Function Documentation

static Standard_Integer edge_id ( const Standard_Integer  theFaceID,
const Standard_Integer  theEdgeNB 
) [static]

Definition at line 93 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer edge_ids[NBFACES][4] = {
    {  1,  2,  3,  4 },   // face 1
    {  5,  6,  7,  8 },   // face 2
    {  9,  5, 10,  1 },   // face 3
    { 12,  7, 11,  3 },   // face 4
    {  4, 12,  8,  9 },   // face 5
    {  2, 11,  6, 10 } }; // face 6

  return edge_ids[theFaceID - 1][theEdgeNB - 1];
}

Here is the caller graph for this function:

static Standard_Integer edge_id_faces ( const Standard_Integer  theFace1ID,
const Standard_Integer  theFace2ID 
) [static]

Definition at line 186 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer edge_ids_faces[NBFACES][NBFACES] = {
    // 1   2   3   4   5   6
    {  0,  0,  1,  3,  4,  2  },   // face 1
    {  0,  0,  5,  7,  8,  6  },   // face 2
    {  1,  5,  0,  0,  9, 10  },   // face 3
    {  3,  7,  0,  0, 12, 11  },   // face 4
    {  4,  8,  9, 12,  0,  0  },   // face 5
    {  2,  6, 10, 11,  0,  0  } }; // face 6

  return edge_ids_faces[theFace1ID - 1][theFace2ID - 1];
}

Here is the caller graph for this function:

static Standard_Integer edge_id_vertices ( const Standard_Integer  theVertex1ID,
const Standard_Integer  theVertex2ID 
) [static]

Definition at line 169 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer edge_ids_vertices[NBVERTS][NBVERTS] = {
    // 1   2   3   4   5   6   7   8
    {  0,  1,  0,  4,  9,  0,  0,  0},   // vertex 1
    {  1,  0,  2,  0,  0, 10,  0,  0},   // vertex 2
    {  0,  2,  0,  3,  0,  0, 11,  0},   // vertex 3
    {  4,  0,  3,  0,  0,  0,  0, 12},   // vertex 4
    {  9,  0,  0,  0,  0,  5,  0,  8},   // vertex 5
    {  0, 10,  0,  0,  5,  0,  6,  0},   // vertex 6
    {  0,  0, 11,  0,  0,  6,  0,  7},   // vertex 7
    {  0,  0,  0, 12,  8,  0,  7,  0} }; // vertex 8

  return edge_ids_vertices[theVertex1ID - 1][theVertex2ID - 1];
}

Here is the caller graph for this function:

static Standard_Integer face_id_edges ( const Standard_Integer  theEdge1ID,
const Standard_Integer  theEdge2ID 
) [static]

Definition at line 148 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer face_ids_edges[NBEDGES][NBEDGES] = {
    // 1  2  3  4  5  6  7  8  9  10 11 12
    {  0, 1, 1, 1, 3, 0, 0, 0, 3, 3, 0, 0  },   // edge 1
    {  1, 0, 1, 1, 0, 6, 0, 0, 0, 6, 6, 0  },   // edge 2
    {  1, 1, 0, 1, 0, 0, 4, 0, 0, 0, 4, 4  },   // edge 3
    {  1, 1, 1, 0, 0, 0, 0, 5, 5, 0, 0, 5  },   // edge 4
    {  3, 0, 0, 0, 0, 2, 2, 2, 3, 3, 0, 0  },   // edge 5
    {  0, 6, 0, 0, 2, 0, 2, 2, 0, 6, 6, 0  },   // edge 6
    {  0, 0, 4, 0, 2, 2, 0, 2, 0, 0, 4, 4  },   // edge 7
    {  0, 0, 0, 5, 2, 2, 2, 0, 5, 0, 0, 5  },   // edge 8
    {  3, 0, 0, 5, 3, 0, 0, 5, 0, 3, 0, 5  },   // edge 9
    {  3, 6, 0, 0, 3, 6, 0, 0, 3, 0, 6, 0  },   // edge 10
    {  0, 6, 4, 0, 0, 6, 4, 0, 0, 6, 0, 4  },   // edge 11
    {  0, 0, 4, 5, 0, 0, 4, 5, 5, 0, 4, 0  } }; // edge 12

  return face_ids_edges[theEdge1ID - 1][theEdge2ID - 1];
}

Here is the caller graph for this function:

static Standard_Integer mod4 ( Standard_Integer  nb) [static]

Definition at line 86 of file GEOMImpl_Block6Explorer.cxx.

{
  if (nb <= 0) return nb + 4;
  if (nb > 4)  return nb - 4;
  return nb;
}

Here is the caller graph for this function:

static Standard_Integer side_edge_id ( const Standard_Integer  theEdgeNB) [static]

Definition at line 107 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer side_edge_ids[4] = {9, 10, 11, 12};

  return side_edge_ids[theEdgeNB - 1];
}

Here is the caller graph for this function:

static Standard_Integer vertex_id ( const Standard_Integer  theFaceID,
const Standard_Integer  theVertexNB 
) [static]

Definition at line 114 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer vertex_ids[NBFACES][4] = {
    { 1, 2, 3, 4 },   // face 1
    { 5, 6, 7, 8 },   // face 2
    { 1, 5, 6, 2 },   // face 3
    { 4, 8, 7, 3 },   // face 4
    { 1, 4, 8, 5 },   // face 5
    { 2, 3, 7, 6 } }; // face 6

  return vertex_ids[theFaceID - 1][theVertexNB - 1];
}

Here is the caller graph for this function:

static Standard_Integer vertex_id_edge ( const Standard_Integer  theEdgeID,
const Standard_Integer  theVertexNB 
) [static]

Definition at line 128 of file GEOMImpl_Block6Explorer.cxx.

{
  static Standard_Integer vertex_ids_edge[NBEDGES][2] = {
    {1, 2},   // edge 1
    {2, 3},   // edge 2
    {3, 4},   // edge 3
    {4, 1},   // edge 4
    {5, 6},   // edge 5
    {6, 7},   // edge 6
    {7, 8},   // edge 7
    {8, 5},   // edge 8
    {1, 5},   // edge 9
    {2, 6},   // edge 10
    {3, 7},   // edge 11
    {4, 8} }; // edge 12

  return vertex_ids_edge[theEdgeID - 1][theVertexNB - 1];
}

Here is the caller graph for this function: