%newobject ParaMEDMEM::MEDCouplingFieldDouble::cloneWithMesh;
%newobject ParaMEDMEM::MEDCouplingFieldDouble::deepCpy;
%newobject ParaMEDMEM::MEDCouplingFieldDouble::buildNewTimeReprFromThis;
+%newobject ParaMEDMEM::MEDCouplingFieldDouble::nodeToCellDiscretization;
%newobject ParaMEDMEM::MEDCouplingFieldDouble::getValueOnMulti;
%newobject ParaMEDMEM::MEDCouplingFieldTemplate::New;
%newobject ParaMEDMEM::DataArray::deepCpy;
bool MEDCouplingByteOrder();
const char *MEDCouplingByteOrderStr();
- class RefCountObject
+ class BigMemoryObject
+ {
+ public:
+ std::size_t getHeapMemorySize() const;
+ std::string getHeapMemorySizeStr() const;
+ virtual std::size_t getHeapMemorySizeWithoutChildren() const;
+ virtual ~BigMemoryObject();
+ %extend
+ {
+ virtual PyObject *getDirectChildren() const
+ {
+ std::vector<const BigMemoryObject *> c(self->getDirectChildren());
+ PyObject *ret(PyList_New(c.size()));
+ for(std::size_t i=0;i<c.size();i++)
+ PyList_SetItem(ret,i,SWIG_NewPointerObj(SWIG_as_voidptr(c[i]),SWIGTYPE_p_ParaMEDMEM__BigMemoryObject, 0 | 0 ));
+ return ret;
+ }
+ }
+ };
+
+ class RefCountObjectOnly
{
- protected:
- RefCountObject();
- RefCountObject(const RefCountObject& other);
- ~RefCountObject();
public:
bool decrRef() const;
void incrRef() const;
int getRCValue() const;
- std::size_t getHeapMemorySize() const;
- std::string RefCountObject::getHeapMemorySizeStr() const;
+ RefCountObjectOnly& operator=(const RefCountObjectOnly& other);
+ protected:
+ ~RefCountObjectOnly();
+ };
+
+ class RefCountObject : public RefCountObjectOnly, public BigMemoryObject
+ {
+ protected:
+ ~RefCountObject();
};
}
//== MEDCouplingMesh End
-%include "NormalizedUnstructuredMesh.hxx"
-%include "MEDCouplingNatureOfField.hxx"
-%include "MEDCouplingTimeDiscretization.hxx"
+%include "NormalizedGeometricTypes"
+%include "MEDCouplingNatureOfFieldEnum"
+//
+namespace ParaMEDMEM
+{
+ class MEDCouplingNatureOfField
+ {
+ public:
+ static const char *GetRepr(NatureOfField nat) throw(INTERP_KERNEL::Exception);
+ static std::string GetReprNoThrow(NatureOfField nat);
+ static std::string GetAllPossibilitiesStr();
+ };
+}
+
+// the MEDCouplingTimeDiscretization classes are not swigged : in case the file can help
+// include "MEDCouplingTimeDiscretization.i"
namespace ParaMEDMEM
{
MEDCouplingFieldDouble *cloneWithMesh(bool recDeepCpy) const;
MEDCouplingFieldDouble *deepCpy() const;
MEDCouplingFieldDouble *buildNewTimeReprFromThis(TypeOfTimeDiscretization td, bool deepCpy) const throw(INTERP_KERNEL::Exception);
+ MEDCouplingFieldDouble *nodeToCellDiscretization() const throw(INTERP_KERNEL::Exception);
TypeOfTimeDiscretization getTimeDiscretization() const throw(INTERP_KERNEL::Exception);
double getIJ(int tupleId, int compoId) const throw(INTERP_KERNEL::Exception);
double getIJK(int cellId, int nodeIdInCell, int compoId) const throw(INTERP_KERNEL::Exception);