Version: 6.3.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes

ParaMEDMEM.MEDCouplingPointSet Class Reference

#include <MEDCouplingPointSet.hxx>

Inheritance diagram for ParaMEDMEM.MEDCouplingPointSet:
Inheritance graph

Public Member Functions

void updateTime () const
int getNumberOfNodes () const
int getSpaceDimension () const
void setCoords (const DataArrayDouble *coords)
const DataArrayDoublegetCoords () const
DataArrayDoublegetCoords ()
DataArrayDoublegetCoordinatesAndOwner () const
void copyTinyStringsFrom (const MEDCouplingMesh *other) throw (INTERP_KERNEL::Exception)
bool isEqual (const MEDCouplingMesh *other, double prec) const
bool isEqualWithoutConsideringStr (const MEDCouplingMesh *other, double prec) const
bool areCoordsEqual (const MEDCouplingPointSet &other, double prec) const
bool areCoordsEqualWithoutConsideringStr (const MEDCouplingPointSet &other, double prec) const
virtual DataArrayIntmergeNodes (double precision, bool &areNodesMerged, int &newNbOfNodes)=0
virtual DataArrayIntmergeNodes2 (double precision, bool &areNodesMerged, int &newNbOfNodes)=0
DataArrayIntbuildPermArrayForMergeNode (int limitNodeId, double precision, bool &areNodesMerged, int &newNbOfNodes) const
std::vector< intgetNodeIdsNearPoint (const double *pos, double eps) const throw (INTERP_KERNEL::Exception)
void getNodeIdsNearPoints (const double *pos, int nbOfNodes, double eps, std::vector< int > &c, std::vector< int > &cI) const throw (INTERP_KERNEL::Exception)
void findCommonNodes (int limitNodeId, double prec, DataArrayInt *&comm, DataArrayInt *&commIndex) const
DataArrayIntbuildNewNumberingFromCommonNodesFormat (const DataArrayInt *comm, const DataArrayInt *commIndex, int &newNbOfNodes) const
void getBoundingBox (double *bbox) const
void zipCoords ()
double getCaracteristicDimension () const
void rotate (const double *center, const double *vector, double angle)
void translate (const double *vector)
void scale (const double *point, double factor)
void changeSpaceDimension (int newSpaceDim, double dftVal=0.) throw (INTERP_KERNEL::Exception)
void tryToShareSameCoords (const MEDCouplingPointSet &other, double epsilon) throw (INTERP_KERNEL::Exception)
virtual void tryToShareSameCoordsPermute (const MEDCouplingPointSet &other, double epsilon)=0 throw (INTERP_KERNEL::Exception)
void findNodesOnPlane (const double *pt, const double *vec, double eps, std::vector< int > &nodes) const throw (INTERP_KERNEL::Exception)
MEDCouplingMeshbuildPart (const int *start, const int *end) const
MEDCouplingMeshbuildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const
virtual MEDCouplingPointSetbuildPartOfMySelf (const int *start, const int *end, bool keepCoords) const =0
virtual MEDCouplingPointSetbuildPartOfMySelfNode (const int *start, const int *end, bool fullyIn) const =0
virtual MEDCouplingPointSetbuildFacePartOfMySelfNode (const int *start, const int *end, bool fullyIn) const =0
virtual void findBoundaryNodes (std::vector< int > &nodes) const =0
virtual MEDCouplingPointSetbuildBoundaryMesh (bool keepCoords) const =0
virtual void renumberNodes (const int *newNodeNumbers, int newNbOfNodes)
virtual void renumberNodes2 (const int *newNodeNumbers, int newNbOfNodes)
virtual bool isEmptyMesh (const std::vector< int > &tinyInfo) const =0
void getTinySerializationInformation (std::vector< double > &tinyInfoD, std::vector< int > &tinyInfo, std::vector< std::string > &littleStrings) const
 size of returned tinyInfo must be always the same.
void resizeForUnserialization (const std::vector< int > &tinyInfo, DataArrayInt *a1, DataArrayDouble *a2, std::vector< std::string > &littleStrings) const
void serialize (DataArrayInt *&a1, DataArrayDouble *&a2) const
void unserialization (const std::vector< double > &tinyInfoD, const std::vector< int > &tinyInfo, const DataArrayInt *a1, DataArrayDouble *a2, const std::vector< std::string > &littleStrings)
virtual void getCellsInBoundingBox (const double *bbox, double eps, std::vector< int > &elems)=0
virtual void getCellsInBoundingBox (const INTERP_KERNEL::DirectedBoundingBox &bbox, double eps, std::vector< int > &elems)=0
virtual DataArrayIntzipCoordsTraducer ()=0

Static Public Member Functions

static DataArrayDoubleMergeNodesArray (const MEDCouplingPointSet *m1, const MEDCouplingPointSet *m2) throw (INTERP_KERNEL::Exception)
static DataArrayDoubleMergeNodesArray (const std::vector< const MEDCouplingPointSet * > &ms) throw (INTERP_KERNEL::Exception)
static MEDCouplingPointSetBuildInstanceFromMeshType (MEDCouplingMeshType type)
static void Rotate2DAlg (const double *center, double angle, int nbNodes, double *coords)
static void Rotate3DAlg (const double *center, const double *vect, double angle, int nbNodes, double *coords)

Protected Member Functions

 MEDCouplingPointSet ()
 MEDCouplingPointSet (const MEDCouplingPointSet &other, bool deepCpy)
 ~MEDCouplingPointSet ()
virtual void checkFullyDefined () const =0 throw (INTERP_KERNEL::Exception)
void rotate2D (const double *center, double angle)
void rotate3D (const double *center, const double *vect, double angle)
void project2DCellOnXY (const int *startConn, const int *endConn, std::vector< double > &res) const
template<int SPACEDIM>
void findCommonNodesAlg (std::vector< double > &bbox, int nbNodes, int limitNodeId, double prec, std::vector< int > &c, std::vector< int > &cI) const
template<int SPACEDIM>
void findNodeIdsNearPointAlg (std::vector< double > &bbox, const double *pos, int nbNodes, double eps, std::vector< int > &c, std::vector< int > &cI) const

Static Protected Member Functions

static bool intersectsBoundingBox (const double *bb1, const double *bb2, int dim, double eps)
static bool intersectsBoundingBox (const INTERP_KERNEL::DirectedBoundingBox &bb1, const double *bb2, int dim, double eps)
static bool isButterfly2DCell (const std::vector< double > &res, bool isQuad)

Protected Attributes

DataArrayDouble_coords

Detailed Description

This class is abstract and not instanciable. ParaMEDMEM.MEDCouplingUMesh class inherits from this class. This class aggregates an array '_coords' containing nodes coordinates. So all operations on coordinates are managed by this class. This is the case for example for following methods : rotation, translation, scaling, getNodeIdsNearPoint, boundingbox...


Constructor & Destructor Documentation

MEDCouplingPointSet::MEDCouplingPointSet ( ) [protected]
MEDCouplingPointSet::MEDCouplingPointSet ( const MEDCouplingPointSet other,
bool  deepCpy 
) [protected]
MEDCouplingPointSet::~MEDCouplingPointSet ( ) [protected]

Member Function Documentation

void MEDCouplingPointSet::updateTime ( ) const [virtual]
int MEDCouplingPointSet::getNumberOfNodes ( ) const [virtual]
int MEDCouplingPointSet::getSpaceDimension ( ) const [virtual]
void MEDCouplingPointSet::setCoords ( const DataArrayDouble coords)
const DataArrayDouble* ParaMEDMEM.MEDCouplingPointSet.getCoords ( ) const
DataArrayDouble* ParaMEDMEM.MEDCouplingPointSet.getCoords ( )
DataArrayDouble * MEDCouplingPointSet::getCoordinatesAndOwner ( ) const [virtual]
void MEDCouplingPointSet::copyTinyStringsFrom ( const MEDCouplingMesh other) throw (INTERP_KERNEL::Exception) [virtual]

This method copyies all tiny strings from other (name and components name).

Exceptions:
ifother and this have not same mesh type.

Reimplemented from ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet._coords, and ParaMEDMEM.MEDCouplingMesh.copyTinyStringsFrom().

bool MEDCouplingPointSet::isEqual ( const MEDCouplingMesh other,
double  prec 
) const [virtual]
bool MEDCouplingPointSet::isEqualWithoutConsideringStr ( const MEDCouplingMesh other,
double  prec 
) const [virtual]
bool MEDCouplingPointSet::areCoordsEqual ( const MEDCouplingPointSet other,
double  prec 
) const
bool MEDCouplingPointSet::areCoordsEqualWithoutConsideringStr ( const MEDCouplingPointSet other,
double  prec 
) const
virtual DataArrayInt* ParaMEDMEM.MEDCouplingPointSet.mergeNodes ( double  precision,
bool &  areNodesMerged,
int newNbOfNodes 
) [pure virtual]
virtual DataArrayInt* ParaMEDMEM.MEDCouplingPointSet.mergeNodes2 ( double  precision,
bool &  areNodesMerged,
int newNbOfNodes 
) [pure virtual]
DataArrayInt * MEDCouplingPointSet::buildPermArrayForMergeNode ( int  limitNodeId,
double  precision,
bool &  areNodesMerged,
int newNbOfNodes 
) const

This method is typically the base method used for implementation of mergeNodes. This method computes this permutation array using as input, This method is const ! So this method simply computes the array, no permutation of nodes is done. a precision 'precision' and a 'limitNodeId' that is the node id so that every nodes which id is strictly lower than 'limitNodeId' will not be merged. To desactivate this advanced feature put -1 to this argument.

Parameters:
areNodesMergedoutput parameter that states if some nodes have been "merged" in returned array
newNbOfNodesoutput parameter too this is the maximal id in returned array to avoid to recompute it.

References ParaMEDMEM.MEDCouplingPointSet.buildNewNumberingFromCommonNodesFormat(), ParaMEDMEM.RefCountObject.decrRef(), ParaMEDMEM.MEDCouplingPointSet.findCommonNodes(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), and testMEDMEM.ret.

std::vector< int > MEDCouplingPointSet::getNodeIdsNearPoint ( const double pos,
double  eps 
) const throw (INTERP_KERNEL::Exception)
void MEDCouplingPointSet::getNodeIdsNearPoints ( const double pos,
int  nbOfNodes,
double  eps,
std::vector< int > &  c,
std::vector< int > &  cI 
) const throw (INTERP_KERNEL::Exception)

Given a point given by its position 'pos' this method finds the set of node ids that are a a distance lower than eps. Position 'pos' is expected to be of size getSpaceDimension()*nbOfNodes. If not the behabiour is not warranted. This method throws an exception if no coordiantes are set.

References batchmode_medcorba_test.nbNodes, testMEDMEM.ret, and batchmode_medcorba_test.spaceDim.

void MEDCouplingPointSet::findCommonNodes ( int  limitNodeId,
double  prec,
DataArrayInt *&  comm,
DataArrayInt *&  commIndex 
) const

This methods searches for each node n1 nodes in _coords that are less far than 'prec' from n1. if any these nodes are stored in params comm and commIndex.

Parameters:
limitNodeIdis the limit node id. All nodes which id is strictly lower than 'limitNodeId' will not be merged each other.
commout parameter (not inout)
commIndexout parameter (not inout)

References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.DataArrayInt.alloc(), ParaMEDMEM.DataArrayDouble.getConstPointer(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayInt.getPointer(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), ParaMEDMEM.DataArrayInt.New(), and batchmode_medcorba_test.spaceDim.

DataArrayInt * MEDCouplingPointSet::buildNewNumberingFromCommonNodesFormat ( const DataArrayInt comm,
const DataArrayInt commIndex,
int newNbOfNodes 
) const
Parameters:
commin param in the same format than one returned by findCommonNodes method.
commIin param in the same format than one returned by findCommonNodes method.
Returns:
the old to new correspondance array.

References ParaMEDMEM.DataArrayInt.alloc(), MEDMEM.fill(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArray.getNumberOfTuples(), ParaMEDMEM.DataArrayInt.getPointer(), ParaMEDMEM.DataArrayInt.New(), and testMEDMEM.ret.

void MEDCouplingPointSet::getBoundingBox ( double bbox) const [virtual]

This method fills bbox params like that : bbox[0]=XMin, bbox[1]=XMax, bbox[2]=YMin... The returned bounding box is arranged along trihedron.

Parameters:
bboxout array of size 2*this->getSpaceDimension().

Implements ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.DataArrayDouble.getConstPointer(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), and ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension().

void MEDCouplingPointSet::zipCoords ( )
double MEDCouplingPointSet::getCaracteristicDimension ( ) const

This method expects that _coords attribute is set.

Returns:
the carateristic dimension of point set. This caracteristic dimension is the max of difference
Exceptions:
If_coords attribute not set.

References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.DataArrayDouble.getConstPointer(), and ParaMEDMEM.DataArray.getNbOfElems().

void MEDCouplingPointSet::rotate ( const double center,
const double vector,
double  angle 
) [virtual]

Non const method that operates a rotation of 'this'. If spaceDim==2 'vector' parameter is ignored (and could be 0) and the rotation is done around 'center' with angle specified by 'angle'. If spaceDim==3 the rotation axe is defined by ('center','vector') and the angle is 'angle'.

Parameters:
centeran array of size getSpaceDimension().
vectorin array of size getSpaceDimension().
angleangle of rotation in radian.

Implements ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.TimeLabel.declareAsNew(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), ParaMEDMEM.MEDCouplingPointSet.rotate2D(), ParaMEDMEM.MEDCouplingPointSet.rotate3D(), batchmode_medcorba_test.spaceDim, and ParaMEDMEM.MEDCouplingPointSet.updateTime().

void MEDCouplingPointSet::translate ( const double vector) [virtual]
void MEDCouplingPointSet::scale ( const double point,
double  factor 
) [virtual]

Non const method that operates a scale on 'this' with 'point' as reference point of scale and with factor 'factor'.

Parameters:
pointin array of size getSpaceDimension().
factorfactor of the scaling

Implements ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.TimeLabel.declareAsNew(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayDouble.getPointer(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), batchmode_medcorba_test.nbNodes, and ParaMEDMEM.MEDCouplingPointSet.updateTime().

void MEDCouplingPointSet::changeSpaceDimension ( int  newSpaceDim,
double  dftValue = 0. 
) throw (INTERP_KERNEL::Exception)

This method is only available for already defined coordinates. If not an INTERP_KERNEL.Exception is thrown. The 'newSpaceDim' input must be greater or equal to 1. This method simply convert this to newSpaceDim space :

  • by putting a 0. for each $ i^{th} $ components of each coord of nodes so that i>=getSpaceDim(), if 'newSpaceDim'>getSpaceDimsion()
  • by ignoring each $ i^{th} $ components of each coord of nodes so that i >= 'newSpaceDim', 'newSpaceDim'<getSpaceDimension() If newSpaceDim==getSpaceDim() nothing is done by this method.

References ParaMEDMEM.DataArrayDouble.changeNbOfComponents(), and ParaMEDMEM.RefCountObject.decrRef().

void MEDCouplingPointSet::tryToShareSameCoords ( const MEDCouplingPointSet other,
double  epsilon 
) throw (INTERP_KERNEL::Exception)

This method try to substitute this->_coords with other._coords if arrays match. This method potentially modifies 'this' if it succeeds, otherway an exception is thrown.

References test_NonCoincidentDEC.epsilon.

virtual void ParaMEDMEM.MEDCouplingPointSet.tryToShareSameCoordsPermute ( const MEDCouplingPointSet other,
double  epsilon 
) throw (INTERP_KERNEL::Exception) [pure virtual]
void MEDCouplingPointSet::findNodesOnPlane ( const double pt,
const double vec,
double  eps,
std::vector< int > &  nodes 
) const throw (INTERP_KERNEL::Exception)

This method is expecting to be called for meshes so that getSpaceDimension() returns 3. This method returns in 'nodes' output all the nodes that are at a distance lower than epsilon from plane defined by the point 'pt' and the vector 'vec'.

Parameters:
ptpoints to an array of size 3 and represents a point that owns to plane.
vecpoints to an array of size 3 and represents the normal vector of the plane. The norm of the vector is not compulsory equal to 1. But norm must be greater than 10*abs(eps)
epsis the maximal distance around the plane where node in this->_coords will be picked.
nodesis the output of the method. The vector is not compulsory empty before call. The nodes that fulfills the condition will be added at the end of the nodes.

References testGaussLocalization.a, testGaussLocalization.b, TestMedCorba3.d, and nodes.

DataArrayDouble * MEDCouplingPointSet::MergeNodesArray ( const MEDCouplingPointSet m1,
const MEDCouplingPointSet m2 
) throw (INTERP_KERNEL::Exception) [static]

merge _coords arrays of m1 and m2 and returns the union. The returned instance is newly created with ref count == 1.

References ParaMEDMEM.DataArrayDouble.Aggregate(), and batchmode_medcorba_test.spaceDim.

DataArrayDouble * MEDCouplingPointSet::MergeNodesArray ( const std::vector< const MEDCouplingPointSet * > &  ms) throw (INTERP_KERNEL::Exception) [static]
MEDCouplingPointSet * MEDCouplingPointSet::BuildInstanceFromMeshType ( MEDCouplingMeshType  type) [static]

Factory to build new instance of instanciable subclasses of MEDCouplingPointSet. This method is used during unserialization process.

References ParaMEDMEM.MEDCouplingUMeshDesc.New(), ParaMEDMEM.MEDCouplingUMesh.New(), ParaMEDMEM.UNSTRUCTURED, and ParaMEDMEM.UNSTRUCTURED_DESC.

void MEDCouplingPointSet::Rotate2DAlg ( const double center,
double  angle,
int  nbNodes,
double coords 
) [static]

Low static method that operates 3D rotation of 'nbNodes' 3D nodes whose coordinates are arranged in 'coords' around the center point 'center' and with angle 'angle'.

References batchmode_medcorba_test.nbNodes.

void MEDCouplingPointSet::Rotate3DAlg ( const double center,
const double vect,
double  angle,
int  nbNodes,
double coords 
) [static]

Low static method that operates 3D rotation of 'nbNodes' 3D nodes whose coordinates are arranged in 'coords' around an axe ('center','vect') and with angle 'angle'.

References batchmode_medcorba_test.nbNodes, and med_test1.norm.

MEDCouplingMesh * MEDCouplingPointSet::buildPart ( const int start,
const int end 
) const [virtual]

This method implements pure virtual method MEDCouplingMesh.buildPart. This method build a part of 'this' by simply keeping cells whose ids are in ['start','end'). The coords are kept unchanged contrary to pure virtual method MEDCouplingMesh.buildPartAndReduceNodes. The returned mesh has to be managed by the caller.

Implements ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet.buildPartOfMySelf().

MEDCouplingMesh * MEDCouplingPointSet::buildPartAndReduceNodes ( const int start,
const int end,
DataArrayInt *&  arr 
) const [virtual]

This method implements pure virtual method MEDCouplingMesh.buildPartAndReduceNodes. This method build a part of 'this' by simply keeping cells whose ids are in ['start','end') and potentially reduces the nodes set behind returned mesh. This cause an overhead but it is lesser in memory. This method returns an array too. This array allows to the caller to know the mapping between nodeids in 'this' and nodeids in returned mesh. This is quite usefull for MEDCouplingFieldDouble on nodes for example... 'arr' is in old2New format of size ret->getNumberOfCells like MEDCouplingUMesh.zipCoordsTraducer is. The returned mesh has to be managed by the caller.

Implements ParaMEDMEM.MEDCouplingMesh.

References ParaMEDMEM.MEDCouplingPointSet.buildPartOfMySelf(), testMEDMEM.ret, and ParaMEDMEM.MEDCouplingPointSet.zipCoordsTraducer().

virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildPartOfMySelf ( const int start,
const int end,
bool  keepCoords 
) const [pure virtual]
virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildPartOfMySelfNode ( const int start,
const int end,
bool  fullyIn 
) const [pure virtual]
virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildFacePartOfMySelfNode ( const int start,
const int end,
bool  fullyIn 
) const [pure virtual]
virtual void ParaMEDMEM.MEDCouplingPointSet.findBoundaryNodes ( std::vector< int > &  nodes) const [pure virtual]
virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildBoundaryMesh ( bool  keepCoords) const [pure virtual]
void MEDCouplingPointSet::renumberNodes ( const int newNodeNumbers,
int  newNbOfNodes 
) [virtual]
void MEDCouplingPointSet::renumberNodes2 ( const int newNodeNumbers,
int  newNbOfNodes 
) [virtual]
virtual bool ParaMEDMEM.MEDCouplingPointSet.isEmptyMesh ( const std::vector< int > &  tinyInfo) const [pure virtual]
void MEDCouplingPointSet::getTinySerializationInformation ( std::vector< double > &  tinyInfoD,
std::vector< int > &  tinyInfo,
std::vector< std::string > &  littleStrings 
) const [virtual]
void MEDCouplingPointSet::resizeForUnserialization ( const std::vector< int > &  tinyInfo,
DataArrayInt a1,
DataArrayDouble a2,
std::vector< std::string > &  littleStrings 
) const [virtual]

Second step of serialization process.

Parameters:
tinyInfomust be equal to the result given by getTinySerializationInformation method.

Implements ParaMEDMEM.MEDCouplingMesh.

Reimplemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.

References ParaMEDMEM.DataArrayDouble.alloc().

void MEDCouplingPointSet::serialize ( DataArrayInt *&  a1,
DataArrayDouble *&  a2 
) const [virtual]
void MEDCouplingPointSet::unserialization ( const std::vector< double > &  tinyInfoD,
const std::vector< int > &  tinyInfo,
const DataArrayInt a1,
DataArrayDouble a2,
const std::vector< std::string > &  littleStrings 
) [virtual]
virtual void ParaMEDMEM.MEDCouplingPointSet.getCellsInBoundingBox ( const double bbox,
double  eps,
std::vector< int > &  elems 
) [pure virtual]
virtual void ParaMEDMEM.MEDCouplingPointSet.getCellsInBoundingBox ( const INTERP_KERNEL::DirectedBoundingBox bbox,
double  eps,
std::vector< int > &  elems 
) [pure virtual]
virtual DataArrayInt* ParaMEDMEM.MEDCouplingPointSet.zipCoordsTraducer ( ) [pure virtual]
virtual void ParaMEDMEM.MEDCouplingPointSet.checkFullyDefined ( ) const throw (INTERP_KERNEL::Exception) [protected, pure virtual]
bool MEDCouplingPointSet::intersectsBoundingBox ( const double bb1,
const double bb2,
int  dim,
double  eps 
) [static, protected]

Intersect Bounding Box given 2 Bounding Boxes.

bool MEDCouplingPointSet::intersectsBoundingBox ( const INTERP_KERNEL::DirectedBoundingBox bb1,
const double bb2,
int  dim,
double  eps 
) [static, protected]

Intersect 2 given Bounding Boxes.

References INTERP_KERNEL.DirectedBoundingBox.isDisjointWith().

void MEDCouplingPointSet::rotate2D ( const double center,
double  angle 
) [protected]
void MEDCouplingPointSet::rotate3D ( const double center,
const double vect,
double  angle 
) [protected]
void MEDCouplingPointSet::project2DCellOnXY ( const int startConn,
const int endConn,
std::vector< double > &  res 
) const [protected]

res should be an empty vector before calling this method. This method returns all the node coordinates included in _coords which ids are in [startConn;endConn) and put it into 'res' vector. If spaceDim==3 a projection will be done for each nodes on the middle plane containing these all nodes in [startConn;endConn). And after each projected nodes are moved to Oxy plane in order to consider these nodes as 2D nodes.

References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.DataArrayDouble.getConstPointer(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), Med_Gen_test.it, batchmode_medcorba_test.nbNodes, and batchmode_medcorba_test.spaceDim.

bool MEDCouplingPointSet::isButterfly2DCell ( const std::vector< double > &  res,
bool  isQuad 
) [static, protected]
template<int SPACEDIM>
void ParaMEDMEM.MEDCouplingPointSet.findCommonNodesAlg ( std::vector< double > &  bbox,
int  nbNodes,
int  limitNodeId,
double  prec,
std::vector< int > &  c,
std::vector< int > &  cI 
) const [protected]
template<int SPACEDIM>
void ParaMEDMEM.MEDCouplingPointSet.findNodeIdsNearPointAlg ( std::vector< double > &  bbox,
const double pos,
int  nbNodes,
double  eps,
std::vector< int > &  c,
std::vector< int > &  cI 
) const [protected]

Field Documentation

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