#include <MEDCouplingPointSet.hxx>

Public Member Functions | |
| void | updateTime () const |
| int | getNumberOfNodes () const |
| int | getSpaceDimension () const |
| void | setCoords (const DataArrayDouble *coords) |
| const DataArrayDouble * | getCoords () const |
| DataArrayDouble * | getCoords () |
| DataArrayDouble * | getCoordinatesAndOwner () 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 DataArrayInt * | mergeNodes (double precision, bool &areNodesMerged, int &newNbOfNodes)=0 |
| virtual DataArrayInt * | mergeNodes2 (double precision, bool &areNodesMerged, int &newNbOfNodes)=0 |
| DataArrayInt * | buildPermArrayForMergeNode (int limitNodeId, double precision, bool &areNodesMerged, int &newNbOfNodes) const |
| std::vector< int > | getNodeIdsNearPoint (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 |
| DataArrayInt * | buildNewNumberingFromCommonNodesFormat (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) |
| MEDCouplingMesh * | buildPart (const int *start, const int *end) const |
| MEDCouplingMesh * | buildPartAndReduceNodes (const int *start, const int *end, DataArrayInt *&arr) const |
| virtual MEDCouplingPointSet * | buildPartOfMySelf (const int *start, const int *end, bool keepCoords) const =0 |
| virtual MEDCouplingPointSet * | buildPartOfMySelfNode (const int *start, const int *end, bool fullyIn) const =0 |
| virtual MEDCouplingPointSet * | buildFacePartOfMySelfNode (const int *start, const int *end, bool fullyIn) const =0 |
| virtual void | findBoundaryNodes (std::vector< int > &nodes) const =0 |
| virtual MEDCouplingPointSet * | buildBoundaryMesh (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 DataArrayInt * | zipCoordsTraducer ()=0 |
Static Public Member Functions | |
| static DataArrayDouble * | MergeNodesArray (const MEDCouplingPointSet *m1, const MEDCouplingPointSet *m2) throw (INTERP_KERNEL::Exception) |
| static DataArrayDouble * | MergeNodesArray (const std::vector< const MEDCouplingPointSet * > &ms) throw (INTERP_KERNEL::Exception) |
| static MEDCouplingPointSet * | BuildInstanceFromMeshType (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 |
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...
| MEDCouplingPointSet::MEDCouplingPointSet | ( | ) | [protected] |
| MEDCouplingPointSet::MEDCouplingPointSet | ( | const MEDCouplingPointSet & | other, |
| bool | deepCpy | ||
| ) | [protected] |
| MEDCouplingPointSet::~MEDCouplingPointSet | ( | ) | [protected] |
| void MEDCouplingPointSet::updateTime | ( | ) | const [virtual] |
Implements ParaMEDMEM.TimeLabel.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh.
References ParaMEDMEM.MEDCouplingPointSet._coords, and ParaMEDMEM.TimeLabel.updateTimeWith().
| int MEDCouplingPointSet::getNumberOfNodes | ( | ) | const [virtual] |
Implements ParaMEDMEM.MEDCouplingMesh.
References ParaMEDMEM.MEDCouplingPointSet._coords, and ParaMEDMEM.DataArray.getNumberOfTuples().
| int MEDCouplingPointSet::getSpaceDimension | ( | ) | const [virtual] |
Implements ParaMEDMEM.MEDCouplingMesh.
References ParaMEDMEM.MEDCouplingPointSet._coords, and ParaMEDMEM.DataArray.getNumberOfComponents().
| void MEDCouplingPointSet::setCoords | ( | const DataArrayDouble * | coords | ) |
| const DataArrayDouble* ParaMEDMEM.MEDCouplingPointSet.getCoords | ( | ) | const |
| DataArrayDouble* ParaMEDMEM.MEDCouplingPointSet.getCoords | ( | ) |
| DataArrayDouble * MEDCouplingPointSet::getCoordinatesAndOwner | ( | ) | const [virtual] |
Implements ParaMEDMEM.MEDCouplingMesh.
References ParaMEDMEM.MEDCouplingPointSet._coords, and ParaMEDMEM.RefCountObject.incrRef().
| void MEDCouplingPointSet::copyTinyStringsFrom | ( | const MEDCouplingMesh * | other | ) | throw (INTERP_KERNEL::Exception) [virtual] |
This method copyies all tiny strings from other (name and components name).
| if | other 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] |
Reimplemented from ParaMEDMEM.MEDCouplingMesh.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh.
References ParaMEDMEM.MEDCouplingPointSet.areCoordsEqual(), and ParaMEDMEM.MEDCouplingMesh.isEqual().
| bool MEDCouplingPointSet::isEqualWithoutConsideringStr | ( | const MEDCouplingMesh * | other, |
| double | prec | ||
| ) | const [virtual] |
Implements ParaMEDMEM.MEDCouplingMesh.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh.
References ParaMEDMEM.MEDCouplingPointSet.areCoordsEqualWithoutConsideringStr().
| 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] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual DataArrayInt* ParaMEDMEM.MEDCouplingPointSet.mergeNodes2 | ( | double | precision, |
| bool & | areNodesMerged, | ||
| int & | newNbOfNodes | ||
| ) | [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| 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.
| areNodesMerged | output parameter that states if some nodes have been "merged" in returned array |
| newNbOfNodes | output 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.
| limitNodeId | is the limit node id. All nodes which id is strictly lower than 'limitNodeId' will not be merged each other. |
| comm | out parameter (not inout) |
| commIndex | out 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 |
| comm | in param in the same format than one returned by findCommonNodes method. |
| commI | in param in the same format than one returned by findCommonNodes method. |
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.
| bbox | out 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 | ( | ) |
This method removes useless nodes in coords.
References ParaMEDMEM.MEDCouplingPointSet.checkFullyDefined(), ParaMEDMEM.RefCountObject.decrRef(), and ParaMEDMEM.MEDCouplingPointSet.zipCoordsTraducer().
| double MEDCouplingPointSet::getCaracteristicDimension | ( | ) | const |
This method expects that _coords attribute is set.
| 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'.
| center | an array of size getSpaceDimension(). |
| vector | in array of size getSpaceDimension(). |
| angle | angle 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] |
Non const method that operates a translation of 'this'.
| vector | in array of size getSpaceDimension(). |
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().
Non const method that operates a scale on 'this' with 'point' as reference point of scale and with factor 'factor'.
| point | in array of size getSpaceDimension(). |
| factor | factor 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 :
components of each coord of nodes so that i>=getSpaceDim(), if 'newSpaceDim'>getSpaceDimsion()
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] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| 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'.
| pt | points to an array of size 3 and represents a point that owns to plane. |
| vec | points 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) |
| eps | is the maximal distance around the plane where node in this->_coords will be picked. |
| nodes | is 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] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildPartOfMySelfNode | ( | const int * | start, |
| const int * | end, | ||
| bool | fullyIn | ||
| ) | const [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildFacePartOfMySelfNode | ( | const int * | start, |
| const int * | end, | ||
| bool | fullyIn | ||
| ) | const [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual void ParaMEDMEM.MEDCouplingPointSet.findBoundaryNodes | ( | std::vector< int > & | nodes | ) | const [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual MEDCouplingPointSet* ParaMEDMEM.MEDCouplingPointSet.buildBoundaryMesh | ( | bool | keepCoords | ) | const [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.DataArrayDouble.alloc(), ParaMEDMEM.DataArray.copyStringInfoFrom(), ParaMEDMEM.RefCountObject.decrRef(), ParaMEDMEM.DataArrayDouble.getConstPointer(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayDouble.getPointer(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), ParaMEDMEM.DataArrayDouble.New(), ParaMEDMEM.MEDCouplingPointSet.setCoords(), and batchmode_medcorba_test.spaceDim.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh.
References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.DataArrayDouble.alloc(), ParaMEDMEM.DataArray.copyStringInfoFrom(), ParaMEDMEM.RefCountObject.decrRef(), ParaMEDMEM.DataArrayDouble.fillWithZero(), ParaMEDMEM.DataArrayDouble.getConstPointer(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayDouble.getPointer(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), ParaMEDMEM.DataArrayDouble.New(), ParaMEDMEM.MEDCouplingPointSet.setCoords(), and batchmode_medcorba_test.spaceDim.
| virtual bool ParaMEDMEM.MEDCouplingPointSet.isEmptyMesh | ( | const std::vector< int > & | tinyInfo | ) | const [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| void MEDCouplingPointSet::getTinySerializationInformation | ( | std::vector< double > & | tinyInfoD, |
| std::vector< int > & | tinyInfo, | ||
| std::vector< std::string > & | littleStrings | ||
| ) | const [virtual] |
size of returned tinyInfo must be always the same.
First step of serialization process. Used by ParaMEDMEM and MEDCouplingCorba to transfert data between process.
Implements ParaMEDMEM.MEDCouplingMesh.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.MEDCouplingPointSet.getCoords(), ParaMEDMEM.MEDCouplingMesh.getDescription(), ParaMEDMEM.DataArray.getInfoOnComponent(), ParaMEDMEM.DataArray.getName(), ParaMEDMEM.MEDCouplingMesh.getName(), ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), ParaMEDMEM.MEDCouplingMesh.getTime(), ParaMEDMEM.MEDCouplingMesh.getTimeUnit(), ParaMEDMEM.MEDCouplingMesh.getType(), Med_Gen_test.it, batchmode_medcorba_test.spaceDim, and medClient_test.time.
| void MEDCouplingPointSet::resizeForUnserialization | ( | const std::vector< int > & | tinyInfo, |
| DataArrayInt * | a1, | ||
| DataArrayDouble * | a2, | ||
| std::vector< std::string > & | littleStrings | ||
| ) | const [virtual] |
Second step of serialization process.
| tinyInfo | must 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] |
Third and final step of serialization process.
Implements ParaMEDMEM.MEDCouplingMesh.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
References ParaMEDMEM.MEDCouplingPointSet._coords, ParaMEDMEM.MEDCouplingPointSet.getCoords(), and ParaMEDMEM.RefCountObject.incrRef().
| 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] |
Second and final unserialization process.
| tinyInfo | must be equal to the result given by getTinySerializationInformation method. |
Implements ParaMEDMEM.MEDCouplingMesh.
Reimplemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
References ParaMEDMEM.MEDCouplingPointSet.getCoords(), ParaMEDMEM.MEDCouplingPointSet.setCoords(), ParaMEDMEM.MEDCouplingMesh.setDescription(), ParaMEDMEM.DataArray.setInfoOnComponent(), ParaMEDMEM.DataArray.setName(), ParaMEDMEM.MEDCouplingMesh.setName(), ParaMEDMEM.MEDCouplingMesh.setTime(), and ParaMEDMEM.MEDCouplingMesh.setTimeUnit().
| virtual void ParaMEDMEM.MEDCouplingPointSet.getCellsInBoundingBox | ( | const double * | bbox, |
| double | eps, | ||
| std::vector< int > & | elems | ||
| ) | [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual void ParaMEDMEM.MEDCouplingPointSet.getCellsInBoundingBox | ( | const INTERP_KERNEL::DirectedBoundingBox & | bbox, |
| double | eps, | ||
| std::vector< int > & | elems | ||
| ) | [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual DataArrayInt* ParaMEDMEM.MEDCouplingPointSet.zipCoordsTraducer | ( | ) | [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| virtual void ParaMEDMEM.MEDCouplingPointSet.checkFullyDefined | ( | ) | const throw (INTERP_KERNEL::Exception) [protected, pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingUMesh, and ParaMEDMEM.MEDCouplingUMeshDesc.
| 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().
'This' is expected to be of spaceDim==2. Idem for 'center' and 'vect'
References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayDouble.getPointer(), batchmode_medcorba_test.nbNodes, and ParaMEDMEM.MEDCouplingPointSet.Rotate2DAlg().
| void MEDCouplingPointSet::rotate3D | ( | const double * | center, |
| const double * | vect, | ||
| double | angle | ||
| ) | [protected] |
'This' is expected to be of spaceDim==3. Idem for 'center' and 'vect'
References ParaMEDMEM.MEDCouplingPointSet._coords, coords, ParaMEDMEM.MEDCouplingPointSet.getNumberOfNodes(), ParaMEDMEM.DataArrayDouble.getPointer(), batchmode_medcorba_test.nbNodes, and ParaMEDMEM.MEDCouplingPointSet.Rotate3DAlg().
| 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] |
low level method that checks that the 2D cell is not a butterfly cell.
References INTERP_KERNEL.QuadraticPolygon.buildArcCirclePolygon(), INTERP_KERNEL.QuadraticPolygon.buildLinearPolygon(), INTERP_KERNEL.QuadraticPolygon.isButterfly(), nodes, and testMEDMEM.ret.
| void ParaMEDMEM.MEDCouplingPointSet.findCommonNodesAlg | ( | std::vector< double > & | bbox, |
| int | nbNodes, | ||
| int | limitNodeId, | ||
| double | prec, | ||
| std::vector< int > & | c, | ||
| std::vector< int > & | cI | ||
| ) | const [protected] |
| 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] |
DataArrayDouble* ParaMEDMEM.MEDCouplingPointSet._coords [protected] |