X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling_Swig%2FMEDCouplingCommon.i;h=6a6f64d0ea51c7fbb14e413c8bfbe848c2007e46;hb=0d89ead3756a73241e61fc46b60e59104b4be02c;hp=cb242a15b6f7cca99a0c35ddaf600b34a58c954e;hpb=8e5053c4181a60f206e65e736fbfd8bbca2c0d88;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling_Swig/MEDCouplingCommon.i b/src/MEDCoupling_Swig/MEDCouplingCommon.i index cb242a15b..6a6f64d0e 100644 --- a/src/MEDCoupling_Swig/MEDCouplingCommon.i +++ b/src/MEDCoupling_Swig/MEDCouplingCommon.i @@ -20,6 +20,10 @@ %module MEDCoupling +#ifdef WITH_DOCSTRINGS +%include MEDCoupling_doc.i +#endif + %include std_vector.i %include std_string.i @@ -44,6 +48,7 @@ #include "MEDCouplingAMRAttribute.hxx" #include "MEDCouplingMatrix.hxx" #include "MEDCouplingPartDefinition.hxx" +#include "MEDCouplingSkyLineArray.hxx" #include "MEDCouplingTypemaps.i" #include "InterpKernelAutoPtr.hxx" @@ -225,6 +230,7 @@ using namespace INTERP_KERNEL; %newobject ParaMEDMEM::MEDCouplingFieldDouble::getValueOnMulti; %newobject ParaMEDMEM::MEDCouplingFieldTemplate::New; %newobject ParaMEDMEM::MEDCouplingMesh::deepCpy; +%newobject ParaMEDMEM::MEDCouplingMesh::clone; %newobject ParaMEDMEM::MEDCouplingMesh::checkDeepEquivalOnSameNodesWith; %newobject ParaMEDMEM::MEDCouplingMesh::checkTypeConsistencyAndContig; %newobject ParaMEDMEM::MEDCouplingMesh::computeNbOfNodesPerCell; @@ -260,11 +266,11 @@ using namespace INTERP_KERNEL; %newobject ParaMEDMEM::MEDCouplingPointSet::getBoundingBoxForBBTree; %newobject ParaMEDMEM::MEDCouplingPointSet::computeFetchedNodeIds; %newobject ParaMEDMEM::MEDCouplingPointSet::ComputeNbOfInteractionsWithSrcCells; +%newobject ParaMEDMEM::MEDCouplingPointSet::computeDiameterField; %newobject ParaMEDMEM::MEDCouplingPointSet::__getitem__; %newobject ParaMEDMEM::MEDCouplingUMesh::New; %newobject ParaMEDMEM::MEDCouplingUMesh::getNodalConnectivity; %newobject ParaMEDMEM::MEDCouplingUMesh::getNodalConnectivityIndex; -%newobject ParaMEDMEM::MEDCouplingUMesh::clone; %newobject ParaMEDMEM::MEDCouplingUMesh::__iter__; %newobject ParaMEDMEM::MEDCouplingUMesh::cellsByType; %newobject ParaMEDMEM::MEDCouplingUMesh::buildDescendingConnectivity; @@ -308,6 +314,7 @@ using namespace INTERP_KERNEL; %newobject ParaMEDMEM::MEDCouplingUMesh::ComputeRangesFromTypeDistribution; %newobject ParaMEDMEM::MEDCouplingUMesh::buildUnionOf2DMesh; %newobject ParaMEDMEM::MEDCouplingUMesh::buildUnionOf3DMesh; +%newobject ParaMEDMEM::MEDCouplingUMesh::generateGraph; %newobject ParaMEDMEM::MEDCouplingUMesh::orderConsecutiveCells1D; %newobject ParaMEDMEM::MEDCouplingUMesh::getBoundingBoxForBBTreeFast; %newobject ParaMEDMEM::MEDCouplingUMesh::getBoundingBoxForBBTree2DQuadratic; @@ -340,14 +347,13 @@ using namespace INTERP_KERNEL; %newobject ParaMEDMEM::MEDCouplingStructuredMesh::Build1GTNodalConnectivityOfSubLevelMesh; %newobject ParaMEDMEM::MEDCouplingStructuredMesh::ComputeCornersGhost; %newobject ParaMEDMEM::MEDCouplingCMesh::New; -%newobject ParaMEDMEM::MEDCouplingCMesh::clone; %newobject ParaMEDMEM::MEDCouplingCMesh::getCoordsAt; +%newobject ParaMEDMEM::MEDCouplingCMesh::buildCurveLinear; %newobject ParaMEDMEM::MEDCouplingIMesh::New; %newobject ParaMEDMEM::MEDCouplingIMesh::asSingleCell; %newobject ParaMEDMEM::MEDCouplingIMesh::buildWithGhost; %newobject ParaMEDMEM::MEDCouplingIMesh::convertToCartesian; %newobject ParaMEDMEM::MEDCouplingCurveLinearMesh::New; -%newobject ParaMEDMEM::MEDCouplingCurveLinearMesh::clone; %newobject ParaMEDMEM::MEDCouplingCurveLinearMesh::getCoords; %newobject ParaMEDMEM::MEDCouplingMultiFields::New; %newobject ParaMEDMEM::MEDCouplingMultiFields::deepCpy; @@ -547,7 +553,8 @@ namespace ParaMEDMEM std::string getTimeUnit() const; virtual MEDCouplingMeshType getType() const throw(INTERP_KERNEL::Exception); bool isStructured() const throw(INTERP_KERNEL::Exception); - virtual MEDCouplingMesh *deepCpy() const; + virtual MEDCouplingMesh *deepCpy() const throw(INTERP_KERNEL::Exception); + virtual MEDCouplingMesh *clone(bool recDeepCpy) const throw(INTERP_KERNEL::Exception); virtual bool isEqual(const MEDCouplingMesh *other, double prec) const throw(INTERP_KERNEL::Exception); virtual bool isEqualWithoutConsideringStr(const MEDCouplingMesh *other, double prec) const throw(INTERP_KERNEL::Exception); virtual void checkFastEquivalWith(const MEDCouplingMesh *other, double prec) const throw(INTERP_KERNEL::Exception); @@ -1135,6 +1142,28 @@ namespace ParaMEDMEM // static bool AreAlmostEqual(const std::vector& v1, const std::vector& v2, double eps); }; + + class MEDCouplingSkyLineArray + { + public: + MEDCouplingSkyLineArray(); + MEDCouplingSkyLineArray( const MEDCouplingSkyLineArray &myArray ); + MEDCouplingSkyLineArray( DataArrayInt* index, DataArrayInt* value ); + MEDCouplingSkyLineArray( const std::vector& index, const std::vector& value ); + + void set( DataArrayInt* index, DataArrayInt* value ); + int getNumberOf() const; + int getLength() const; + DataArrayInt* getIndexArray() const; + DataArrayInt* getValueArray() const; + %extend + { + std::string __str__() const throw(INTERP_KERNEL::Exception) + { + return self->simpleRepr(); + } + } + }; } %include "MEDCouplingFieldDiscretization.i" @@ -1173,6 +1202,8 @@ namespace ParaMEDMEM virtual MEDCouplingPointSet *deepCpyConnectivityOnly() const throw(INTERP_KERNEL::Exception); virtual DataArrayDouble *getBoundingBoxForBBTree(double arcDetEps=1e-12) const throw(INTERP_KERNEL::Exception); virtual void renumberNodesWithOffsetInConn(int offset) throw(INTERP_KERNEL::Exception); + virtual bool areAllNodesFetched() const throw(INTERP_KERNEL::Exception); + virtual MEDCouplingFieldDouble *computeDiameterField() const throw(INTERP_KERNEL::Exception); %extend { std::string __str__() const throw(INTERP_KERNEL::Exception) @@ -1727,7 +1758,6 @@ namespace ParaMEDMEM public: static MEDCouplingUMesh *New() throw(INTERP_KERNEL::Exception); static MEDCouplingUMesh *New(const char *meshName, int meshDim) throw(INTERP_KERNEL::Exception); - MEDCouplingUMesh *clone(bool recDeepCpy) const; void checkCoherency() const throw(INTERP_KERNEL::Exception); void setMeshDimension(int meshDim) throw(INTERP_KERNEL::Exception); void allocateCells(int nbOfCells=0) throw(INTERP_KERNEL::Exception); @@ -1780,6 +1810,7 @@ namespace ParaMEDMEM DataArrayInt *convertNodalConnectivityToStaticGeoTypeMesh() const throw(INTERP_KERNEL::Exception); DataArrayInt *buildUnionOf2DMesh() const throw(INTERP_KERNEL::Exception); DataArrayInt *buildUnionOf3DMesh() const throw(INTERP_KERNEL::Exception); + MEDCouplingSkyLineArray *generateGraph() const throw(INTERP_KERNEL::Exception); DataArrayInt *orderConsecutiveCells1D() const throw(INTERP_KERNEL::Exception); DataArrayDouble *getBoundingBoxForBBTreeFast() const throw(INTERP_KERNEL::Exception); DataArrayDouble *getBoundingBoxForBBTree2DQuadratic(double arcDetEps=1e-12) const throw(INTERP_KERNEL::Exception); @@ -3288,6 +3319,8 @@ namespace ParaMEDMEM } }; + class MEDCouplingCurveLinearMesh; + //== MEDCouplingCMesh class MEDCouplingCMesh : public ParaMEDMEM::MEDCouplingStructuredMesh @@ -3295,11 +3328,11 @@ namespace ParaMEDMEM public: static MEDCouplingCMesh *New() throw(INTERP_KERNEL::Exception); static MEDCouplingCMesh *New(const std::string& meshName) throw(INTERP_KERNEL::Exception); - MEDCouplingCMesh *clone(bool recDeepCpy) const; void setCoords(const DataArrayDouble *coordsX, const DataArrayDouble *coordsY=0, const DataArrayDouble *coordsZ=0) throw(INTERP_KERNEL::Exception); void setCoordsAt(int i, const DataArrayDouble *arr) throw(INTERP_KERNEL::Exception); + MEDCouplingCurveLinearMesh *buildCurveLinear() const throw(INTERP_KERNEL::Exception); %extend { MEDCouplingCMesh() throw(INTERP_KERNEL::Exception) { @@ -3343,7 +3376,6 @@ namespace ParaMEDMEM public: static MEDCouplingCurveLinearMesh *New() throw(INTERP_KERNEL::Exception); static MEDCouplingCurveLinearMesh *New(const std::string& meshName) throw(INTERP_KERNEL::Exception); - MEDCouplingCurveLinearMesh *clone(bool recDeepCpy) const; void setCoords(const DataArrayDouble *coords) throw(INTERP_KERNEL::Exception); %extend { MEDCouplingCurveLinearMesh() throw(INTERP_KERNEL::Exception) @@ -5731,6 +5763,23 @@ namespace ParaMEDMEM { return (*self)+other; } + + virtual PyObject *isEqual(const PartDefinition *other) const throw(INTERP_KERNEL::Exception) + { + std::string ret1; + bool ret0(self->isEqual(other,ret1)); + PyObject *ret=PyTuple_New(2); + PyObject *ret0Py=ret0?Py_True:Py_False; + Py_XINCREF(ret0Py); + PyTuple_SetItem(ret,0,ret0Py); + PyTuple_SetItem(ret,1,PyString_FromString(ret1.c_str())); + return ret; + } + + virtual PyObject *deepCpy() const throw(INTERP_KERNEL::Exception) + { + return convertPartDefinition(self->deepCpy(),SWIG_POINTER_OWN | 0); + } } protected: virtual ~PartDefinition();