Version: 6.3.1
Data Structures | Defines | Functions

src/SMESH_I/SMESH_MeshEditor_i.cxx File Reference

#include "SMESH_MeshEditor_i.hxx"
#include "SMDS_Mesh0DElement.hxx"
#include "SMDS_LinearEdge.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshVolume.hxx"
#include "SMDS_PolyhedralVolumeOfNodes.hxx"
#include "SMESH_subMeshEventListener.hxx"
#include "SMESH_Gen_i.hxx"
#include "SMESH_Filter_i.hxx"
#include "SMESH_subMesh_i.hxx"
#include "SMESH_Group_i.hxx"
#include "SMESH_PythonDump.hxx"
#include "SMESH_ControlsDef.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>
Include dependency graph for SMESH_MeshEditor_i.cxx:

Go to the source code of this file.

Data Structures

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 )
#define RETCASE (   enm)    case ::SMESH_MeshEditor::enm: return SMESH::SMESH_MeshEditor::enm;

Convert extrusion error to IDL enum.

Definition at line 4325 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 4325 of file SMESH_MeshEditor_i.cxx.

Referenced by convError(), and convExtrError().


Function Documentation

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

Definition at line 4327 of file SMESH_MeshEditor_i.cxx.

References RETCASE, and SMESH.SMESH_MeshEditor.SEW_OK.

Referenced by SMESH_MeshEditor_i.SewBorderToSide(), SMESH_MeshEditor_i.SewConformFreeBorders(), SMESH_MeshEditor_i.SewFreeBorders(), and SMESH_MeshEditor_i.SewSideElements().

{
  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;
}

Definition at line 2162 of file SMESH_MeshEditor_i.cxx.

References SMESH.SMESH_MeshEditor.EXTR_OK, and RETCASE.

Referenced by SMESH_MeshEditor_i.extrusionAlongPath(), and SMESH_MeshEditor_i.extrusionAlongPathX().

{
  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;
}
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 5423 of file SMESH_MeshEditor_i.cxx.

References SMESH.NODE, SMDSAbs_All, and SMDSAbs_Node.

Referenced by SMESH_MeshEditor_i.DoubleNodeElemGroups(), SMESH_MeshEditor_i.DoubleNodeElemGroupsInRegion(), and SMESH_MeshEditor_i.DoubleNodeElemGroupsNew().

{
  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 );
    }
  }
}
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS