Back to index

salome-smesh  6.5.0
Classes | Defines | Functions
SMESH_MeshEditor_i.cxx File Reference
#include "SMESH_MeshEditor_i.hxx"
#include "SMDS_LinearEdge.hxx"
#include "SMDS_Mesh0DElement.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshVolume.hxx"
#include "SMDS_PolyhedralVolumeOfNodes.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMESH_Filter_i.hxx"
#include "SMESH_Gen_i.hxx"
#include "SMESH_Group_i.hxx"
#include "SMESH_PythonDump.hxx"
#include "SMESH_subMeshEventListener.hxx"
#include "SMESH_subMesh_i.hxx"
#include "utilities.h"
#include "Utils_ExceptHandlers.hxx"
#include "Utils_CorbaException.hxx"
#include <BRepAdaptor_Surface.hxx>
#include <BRep_Tool.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Vec.hxx>
#include <Standard_Failure.hxx>
#include <sstream>
#include <limits>

Go to the source code of this file.

Classes

struct  _IDSource

Defines

#define cast2Node(elem)   static_cast<const SMDS_MeshNode*>( elem )
#define RETCASE(enm)   case ::SMESH_MeshEditor::enm: return SMESH::SMESH_MeshEditor::enm;
 Convert extrusion error to IDL enum.
#define RETCASE(enm)   case ::SMESH_MeshEditor::enm: return SMESH::SMESH_MeshEditor::enm;
 Convert extrusion error to IDL enum.

Functions

static
SMESH::SMESH_MeshEditor::Extrusion_Error 
convExtrError (const ::SMESH_MeshEditor::Extrusion_Error e)
static
SMESH::SMESH_MeshEditor::Sew_Error 
convError (const ::SMESH_MeshEditor::Sew_Error e)
static void listOfGroupToSet (const SMESH::ListOfGroups &theGrpList, SMESHDS_Mesh *theMeshDS, TIDSortedElemSet &theElemSet, const bool theIsNodeGrp)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Define Documentation

#define cast2Node (   elem)    static_cast<const SMDS_MeshNode*>( elem )

Definition at line 74 of file SMESH_MeshEditor_i.cxx.

#define RETCASE (   enm)    case ::SMESH_MeshEditor::enm: return SMESH::SMESH_MeshEditor::enm;

Convert extrusion error to IDL enum.

Definition at line 4538 of file SMESH_MeshEditor_i.cxx.

#define RETCASE (   enm)    case ::SMESH_MeshEditor::enm: return SMESH::SMESH_MeshEditor::enm;

Convert extrusion error to IDL enum.

Definition at line 4538 of file SMESH_MeshEditor_i.cxx.


Function Documentation

static SMESH::SMESH_MeshEditor::Sew_Error convError ( const ::SMESH_MeshEditor::Sew_Error  e) [static]

Definition at line 4540 of file SMESH_MeshEditor_i.cxx.

{
  switch ( e ) {
    RETCASE( SEW_OK );
    RETCASE( SEW_BORDER1_NOT_FOUND );
    RETCASE( SEW_BORDER2_NOT_FOUND );
    RETCASE( SEW_BOTH_BORDERS_NOT_FOUND );
    RETCASE( SEW_BAD_SIDE_NODES );
    RETCASE( SEW_VOLUMES_TO_SPLIT );
    RETCASE( SEW_DIFF_NB_OF_ELEMENTS );
    RETCASE( SEW_TOPO_DIFF_SETS_OF_ELEMENTS );
    RETCASE( SEW_BAD_SIDE1_NODES );
    RETCASE( SEW_BAD_SIDE2_NODES );
  }
  return SMESH::SMESH_MeshEditor::SEW_OK;
}

Here is the caller graph for this function:

static SMESH::SMESH_MeshEditor::Extrusion_Error convExtrError ( const ::SMESH_MeshEditor::Extrusion_Error  e) [static]

Definition at line 2272 of file SMESH_MeshEditor_i.cxx.

{
  switch ( e ) {
    RETCASE( EXTR_OK );
    RETCASE( EXTR_NO_ELEMENTS );
    RETCASE( EXTR_PATH_NOT_EDGE );
    RETCASE( EXTR_BAD_PATH_SHAPE );
    RETCASE( EXTR_BAD_STARTING_NODE );
    RETCASE( EXTR_BAD_ANGLES_NUMBER );
    RETCASE( EXTR_CANT_GET_TANGENT );
  }
  return SMESH::SMESH_MeshEditor::EXTR_OK;
}

Here is the caller graph for this function:

static void listOfGroupToSet ( const SMESH::ListOfGroups theGrpList,
SMESHDS_Mesh *  theMeshDS,
TIDSortedElemSet theElemSet,
const bool  theIsNodeGrp 
) [static]

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters:
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
Returns:
TRUE if operation has been completed successfully, FALSE otherwise
See also:
DoubleNodeGroup(), DoubleNodes(), DoubleNodeElemGroupsNew()

Definition at line 5689 of file SMESH_MeshEditor_i.cxx.

{
  for ( int i = 0, n = theGrpList.length(); i < n; i++ )
  {
    SMESH::SMESH_GroupBase_var aGrp = theGrpList[ i ];
    if ( !CORBA::is_nil( aGrp ) && (theIsNodeGrp ? aGrp->GetType() == SMESH::NODE
                                    : aGrp->GetType() != SMESH::NODE ) )
    {
      SMESH::long_array_var anIDs = aGrp->GetIDs();
      arrayToSet( anIDs, theMeshDS, theElemSet, theIsNodeGrp ? SMDSAbs_Node : SMDSAbs_All );
    }
  }
}

Here is the caller graph for this function: