X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling_Swig%2FMEDCouplingCommon.i;h=a1a557ecc487f7d8059e1240bd00d53a7d244b70;hb=8be544a31d08ec0537eef57b60edd48bc70c22db;hp=a8036fbba97366da860c0e68de2665d20ff41435;hpb=6b4ac6e14aa5528410049de1c9b15219b849d1ff;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling_Swig/MEDCouplingCommon.i b/src/MEDCoupling_Swig/MEDCouplingCommon.i index a8036fbba..a1a557ecc 100644 --- a/src/MEDCoupling_Swig/MEDCouplingCommon.i +++ b/src/MEDCoupling_Swig/MEDCouplingCommon.i @@ -297,6 +297,7 @@ using namespace INTERP_KERNEL; %newobject MEDCoupling::MEDCouplingUMesh::ComputeSpreadZoneGraduallyFromSeed; %newobject MEDCoupling::MEDCouplingUMesh::buildNewNumberingFromCommNodesFrmt; %newobject MEDCoupling::MEDCouplingUMesh::conformize2D; +%newobject MEDCoupling::MEDCouplingUMesh::conformize3D; %newobject MEDCoupling::MEDCouplingUMesh::colinearize2D; %newobject MEDCoupling::MEDCouplingUMesh::rearrange2ConsecutiveCellTypes; %newobject MEDCoupling::MEDCouplingUMesh::sortCellsInMEDFileFrmt; @@ -408,15 +409,9 @@ using namespace INTERP_KERNEL; %newobject MEDCoupling::DenseMatrix::__add__; %newobject MEDCoupling::DenseMatrix::__sub__; %newobject MEDCoupling::DenseMatrix::__mul__; -%newobject MEDCoupling::PartDefinition::New; -%newobject MEDCoupling::PartDefinition::toDAI; -%newobject MEDCoupling::PartDefinition::__add__; -%newobject MEDCoupling::PartDefinition::composeWith; -%newobject MEDCoupling::PartDefinition::tryToSimplify; -%newobject MEDCoupling::DataArrayPartDefinition::New; -%newobject MEDCoupling::SlicePartDefinition::New; %newobject MEDCoupling::MEDCouplingGaussLocalization::localizePtsInRefCooForEachCell; %newobject MEDCoupling::MEDCouplingGaussLocalization::buildRefCell; +%newobject MEDCoupling::MEDCouplingSkyLineArray::BuildFromPolyhedronConn; %feature("unref") MEDCouplingPointSet "$this->decrRef();" %feature("unref") MEDCouplingMesh "$this->decrRef();" @@ -447,9 +442,7 @@ using namespace INTERP_KERNEL; %feature("unref") MEDCouplingDataForGodFather "$this->decrRef();" %feature("unref") MEDCouplingAMRAttribute "$this->decrRef();" %feature("unref") DenseMatrix "$this->decrRef();" -%feature("unref") PartDefinition "$this->decrRef();" -%feature("unref") DataArrayPartDefinition "$this->decrRef();" -%feature("unref") SlicePartDefinition "$this->decrRef();" +%feature("unref") MEDCouplingSkyLineArray "$this->decrRef();" %rename(assign) *::operator=; %ignore MEDCoupling::MEDCouplingGaussLocalization::pushTinySerializationIntInfo; @@ -1186,24 +1179,99 @@ namespace MEDCoupling class MEDCouplingSkyLineArray { - public: - MEDCouplingSkyLineArray(); - MEDCouplingSkyLineArray( const MEDCouplingSkyLineArray &myArray ); - MEDCouplingSkyLineArray( DataArrayInt* index, DataArrayInt* value ); - MEDCouplingSkyLineArray( const std::vector& index, const std::vector& value ); + public: + static MEDCouplingSkyLineArray *BuildFromPolyhedronConn( const DataArrayInt* c, const DataArrayInt* cI ) throw(INTERP_KERNEL::Exception); void set( DataArrayInt* index, DataArrayInt* value ); + void set3( DataArrayInt* superIndex, DataArrayInt* index, DataArrayInt* value ); + + int getSuperNumberOf() const; int getNumberOf() const; int getLength() const; + + DataArrayInt* getSuperIndexArray() const; DataArrayInt* getIndexArray() const; - DataArrayInt* getValueArray() const; - %extend + DataArrayInt* getValuesArray() const; + + void deletePack(const int i, const int j) throw(INTERP_KERNEL::Exception); + + %extend + { + MEDCouplingSkyLineArray() throw(INTERP_KERNEL::Exception) + { + return MEDCouplingSkyLineArray::New(); + } + + MEDCouplingSkyLineArray( const std::vector& index, const std::vector& value) throw(INTERP_KERNEL::Exception) + { + return MEDCouplingSkyLineArray::New(index, value); + } + + MEDCouplingSkyLineArray( DataArrayInt* index, DataArrayInt* value ) throw(INTERP_KERNEL::Exception) + { + return MEDCouplingSkyLineArray::New(index, value); + } + + MEDCouplingSkyLineArray( const MEDCouplingSkyLineArray & other ) throw(INTERP_KERNEL::Exception) + { + return MEDCouplingSkyLineArray::New(other); + } + + std::string __str__() const throw(INTERP_KERNEL::Exception) + { + return self->simpleRepr(); + } + + PyObject *getSimplePackSafe(int absolutePackId) const throw(INTERP_KERNEL::Exception) + { + std::vector ret; + self->getSimplePackSafe(absolutePackId,ret); + return convertIntArrToPyList2(ret); + } + + PyObject *findPackIds(PyObject *superPackIndices, PyObject *pack) const throw(INTERP_KERNEL::Exception) + { + std::vector vpack, vspIdx, out; + + convertPyToNewIntArr3(superPackIndices,vspIdx); + convertPyToNewIntArr3(pack,vpack); + + self->findPackIds(vspIdx, vpack.data(), vpack.data()+vpack.size(), out); + return convertIntArrToPyList2(out); + } + + void pushBackPack(const int i, PyObject *pack) throw(INTERP_KERNEL::Exception) + { + std::vector vpack; + convertPyToNewIntArr3(pack,vpack); + self->pushBackPack(i,vpack.data(), vpack.data()+vpack.size()); + } + + void replaceSimplePack(const int idx, PyObject *pack) throw(INTERP_KERNEL::Exception) + { + std::vector vpack; + convertPyToNewIntArr3(pack,vpack); + self->replaceSimplePack(idx, vpack.data(), vpack.data()+vpack.size()); + } + + void replacePack(const int superIdx, const int idx, PyObject *pack) throw(INTERP_KERNEL::Exception) + { + std::vector vpack; + convertPyToNewIntArr3(pack,vpack); + self->replacePack(superIdx, idx, vpack.data(), vpack.data()+vpack.size()); + } + + PyObject *convertToPolyhedronConn() const throw(INTERP_KERNEL::Exception) { - std::string __str__() const throw(INTERP_KERNEL::Exception) - { - return self->simpleRepr(); - } - } + MCAuto d0=DataArrayInt::New(); + MCAuto d1=DataArrayInt::New(); + self->convertToPolyhedronConn(d0,d1); + PyObject *ret=PyTuple_New(2); + PyTuple_SetItem(ret,0,SWIG_NewPointerObj(SWIG_as_voidptr(d0.retn()),SWIGTYPE_p_MEDCoupling__DataArrayInt, SWIG_POINTER_OWN | 0 )); + PyTuple_SetItem(ret,1,SWIG_NewPointerObj(SWIG_as_voidptr(d1.retn()),SWIGTYPE_p_MEDCoupling__DataArrayInt, SWIG_POINTER_OWN | 0 )); + return ret; + } + } }; } @@ -1813,6 +1881,7 @@ namespace MEDCoupling MEDCouplingUMesh *buildSetInstanceFromThis(int spaceDim) const throw(INTERP_KERNEL::Exception); //tools DataArrayInt *conformize2D(double eps) throw(INTERP_KERNEL::Exception); + DataArrayInt *conformize3D(double eps) throw(INTERP_KERNEL::Exception); DataArrayInt *colinearize2D(double eps) throw(INTERP_KERNEL::Exception); void shiftNodeNumbersInConn(int delta) throw(INTERP_KERNEL::Exception); std::vector getQuadraticStatus() const throw(INTERP_KERNEL::Exception); @@ -1848,10 +1917,10 @@ namespace MEDCoupling DataArrayInt *findAndCorrectBadOriented3DExtrudedCells() throw(INTERP_KERNEL::Exception); DataArrayInt *findAndCorrectBadOriented3DCells() throw(INTERP_KERNEL::Exception); MEDCoupling::MEDCoupling1GTUMesh *convertIntoSingleGeoTypeMesh() const throw(INTERP_KERNEL::Exception); + MEDCouplingSkyLineArray *generateGraph() const throw(INTERP_KERNEL::Exception); 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); @@ -2880,7 +2949,7 @@ namespace MEDCoupling default: throw INTERP_KERNEL::Exception("MEDCouplingUMesh::convertToPolyTypes : unexpected input array type recognized !"); } - } + } } void convertAllToPoly(); void convertExtrudedPolyhedra() throw(INTERP_KERNEL::Exception); @@ -5941,107 +6010,6 @@ namespace MEDCoupling #endif } }; - - class PartDefinition : public RefCountObject, public TimeLabel - { - public: - static PartDefinition *New(int start, int stop, int step) throw(INTERP_KERNEL::Exception); - static PartDefinition *New(DataArrayInt *listOfIds) throw(INTERP_KERNEL::Exception); - virtual DataArrayInt *toDAI() const throw(INTERP_KERNEL::Exception); - virtual int getNumberOfElems() const throw(INTERP_KERNEL::Exception); - virtual std::string getRepr() const throw(INTERP_KERNEL::Exception); - virtual PartDefinition *composeWith(const PartDefinition *other) const throw(INTERP_KERNEL::Exception); - virtual void checkConsistencyLight() const throw(INTERP_KERNEL::Exception); - virtual PartDefinition *tryToSimplify() const throw(INTERP_KERNEL::Exception); - %extend - { - virtual PartDefinition *__add__(const PartDefinition& other) const throw(INTERP_KERNEL::Exception) - { - 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 *deepCopy() const throw(INTERP_KERNEL::Exception) - { - return convertPartDefinition(self->deepCopy(),SWIG_POINTER_OWN | 0); - } - } - protected: - virtual ~PartDefinition(); - }; - - class DataArrayPartDefinition : public PartDefinition - { - public: - static DataArrayPartDefinition *New(DataArrayInt *listOfIds) throw(INTERP_KERNEL::Exception); - %extend - { - DataArrayPartDefinition(DataArrayInt *listOfIds) throw(INTERP_KERNEL::Exception) - { - return DataArrayPartDefinition::New(listOfIds); - } - - std::string __str__() const throw(INTERP_KERNEL::Exception) - { - return self->getRepr(); - } - - std::string __repr__() const throw(INTERP_KERNEL::Exception) - { - std::ostringstream oss; oss << "DataArrayPartDefinition C++ instance at " << self << "." << std::endl; - oss << self->getRepr(); - return oss.str(); - } - } - protected: - virtual ~DataArrayPartDefinition(); - }; - - class SlicePartDefinition : public PartDefinition - { - public: - static SlicePartDefinition *New(int start, int stop, int step) throw(INTERP_KERNEL::Exception); - int getEffectiveStop() const throw(INTERP_KERNEL::Exception); - %extend - { - SlicePartDefinition(int start, int stop, int step) throw(INTERP_KERNEL::Exception) - { - return SlicePartDefinition::New(start,stop,step); - } - - PyObject *getSlice() const throw(INTERP_KERNEL::Exception) - { - int a,b,c; - self->getSlice(a,b,c); - return PySlice_New(PyInt_FromLong(a),PyInt_FromLong(b),PyInt_FromLong(c)); - } - - std::string __str__() const throw(INTERP_KERNEL::Exception) - { - return self->getRepr(); - } - - std::string __repr__() const throw(INTERP_KERNEL::Exception) - { - std::ostringstream oss; oss << "SlicePartDefinition C++ instance at " << self << "." << std::endl; - oss << self->getRepr(); - return oss.str(); - } - } - protected: - virtual ~SlicePartDefinition(); - }; } %pythoncode %{