# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-from MEDCoupling import *
from MEDLoader import WriteMesh
XCoords=[-0.3,0.,0.1,0.3,0.45,0.47,0.49,1.,1.22] # 9 values along X
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
from MEDLoader import WriteMesh
arr=DataArrayDouble(range(2))
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-from MEDCoupling import *
from MEDLoader import WriteMesh
m=MEDCouplingCurveLinearMesh("myCurveLinearMesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(5))
mesh1=MEDCouplingCMesh("mesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "ParaViS")
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
+
from MEDLoader import WriteMesh, WriteFieldUsingAlreadyWrittenMesh
medfile1="mesh1.med"
ipar.append("AP_MODULES_LIST", "Mesh")
-from MEDCoupling import *
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(6))
mesh1=MEDCouplingCMesh("mesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(6))
mesh1=MEDCouplingCMesh("mesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(3))
mesh1=MEDCouplingCMesh("mesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(6))
mesh2d=MEDCouplingCMesh("mesh2d")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(6))
mesh2d=MEDCouplingCMesh("mesh2")
salome.salome_init()
theStudy = salome.myStudy
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
+
from MEDLoader import WriteMesh, WriteFieldUsingAlreadyWrittenMesh
medfile="mesh1.med"
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-from MEDCoupling import *
from MEDLoader import WriteMesh
coordsArr=DataArrayDouble(range(6))
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
from MEDLoader import WriteMesh
coordsArr=DataArrayDouble(range(6))
### This script is intended to be launched in a new SALOME study
###
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(3))
mesh1=MEDCouplingCMesh("mesh")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-
-from MEDCoupling import *
from MEDLoader import ReadMeshFromFile, WriteMesh
coordsArr=DataArrayDouble(range(8))
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-
-from MEDCoupling import *
from MEDLoader import ReadMeshFromFile, WriteMesh
coordsArr=DataArrayDouble(range(8))
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
srcCoo=DataArrayDouble([(0,0),(1,0),(3,0),(0,1),(1,1),(3,1)])
src=MEDCouplingUMesh("src",2)
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
srcCoo=DataArrayDouble([(0,0),(1,0),(3,0),(0,1),(1,1),(3,1)])
src=MEDCouplingUMesh("src",2)
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
srcCoo=DataArrayDouble([(0,0),(1,0),(3,0),(0,1),(1,1),(3,1)])
src=MEDCouplingUMesh("src",2)
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-
-from MEDCoupling import *
from MEDLoader import WriteMesh
coordsArr=DataArrayDouble(range(2))
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Mesh")
-
-
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(3))
mesh1=MEDCouplingCMesh("mesh")
ipar.append("AP_MODULES_LIST", "Mesh")
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
coordsArr=DataArrayDouble(range(5))
mesh1=MEDCouplingCMesh("mesh")
ipar.append("AP_MODULES_LIST", "Mesh")
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
from MEDLoader import WriteMesh
coords=DataArrayDouble(range(6))
#include "InterpKernelFunction.hxx"
#include "InterpKernelValue.hxx"
+#include <algorithm>
#include <cmath>
#include <limits>
#include "InterpKernelUnit.hxx"
#include "InterpKernelExprParser.hxx"
+#include <algorithm>
#include <cmath>
#include <sstream>
#include <iomanip>
#include <limits>
#include <algorithm>
+#ifdef WIN32
+#include <functional>
+#endif
+
using namespace INTERP_KERNEL;
ValueDouble::ValueDouble():_data(std::numeric_limits<double>::max())
#include <algorithm>
+#include <functional>
+
+
using namespace INTERP_KERNEL;
MergePoints::MergePoints():_ass1Start1(0),_ass1End1(0),_ass1Start2(0),_ass1End2(0),
* When the instance is destroyed, the previous precision is set back.
*
*/
- class QuadraticPlanarPrecision
+ class INTERPKERNEL_EXPORT QuadraticPlanarPrecision
{
public:
QuadraticPlanarPrecision(double prec);
#include "InterpKernelCellSimplify.hxx"
#include "CellModel.hxx"
+#include <functional>
#include <algorithm>
#include <iterator>
#include <sstream>
#ifndef __VECTORUTILS_HXX__
#define __VECTORUTILS_HXX__
+#include <algorithm>
#include <sstream>
#include <numeric>
#include <string>
#include <cmath>
#include <map>
+
namespace INTERP_KERNEL
{
/// Precision used for tests of 3D part of INTERP_KERNEL
#define _MEDCOUPLING_HXX_
#ifdef WIN32
-# if defined medcoupling_EXPORTS
+# if defined(medcoupling_EXPORTS) || defined(medcouplingcpp_EXPORTS) || defined(MEDCOUPLING_WIN32_SWIG)
# define MEDCOUPLING_EXPORT __declspec( dllexport )
# else
# define MEDCOUPLING_EXPORT __declspec( dllimport )
#include <sstream>
#include <fstream>
+#ifdef WIN32
+#include <functional>
+#endif
+
using namespace MEDCoupling;
/// @cond INTERNAL
template class MEDCoupling::DataArrayIterator<int>;
template class MEDCoupling::DataArrayDiscrete<Int32>;
template class MEDCoupling::DataArrayDiscreteSigned<Int32>;
-
-// [ABN] : Newest Intel compilers need this:
-template Traits<Int32>::ArrayType* MEDCoupling::DataArrayTuple<Int32>::buildDA(int, int) const;
-template Traits<double>::ArrayType* MEDCoupling::DataArrayTuple<double>::buildDA(int, int) const;
-template Traits<float>::ArrayType* MEDCoupling::DataArrayTuple<float>::buildDA(int, int) const;
-
+template class MEDCoupling::DataArrayTuple<int>;
+template class MEDCoupling::DataArrayTuple<double>;
+template class MEDCoupling::DataArrayTuple<float>;
template<int SPACEDIM>
void DataArrayDouble::findCommonTuplesAlg(const double *bbox, int nbNodes, int limitNodeId, double prec, DataArrayInt *c, DataArrayInt *cI) const
class MEDCouplingPointer
{
public:
- MEDCouplingPointer():_internal(0),_external(0) { }
- void null() { _internal=0; _external=0; }
- bool isNull() const { return _internal==0 && _external==0; }
- void setInternal(T *pointer);
- void setExternal(const T *pointer);
- const T *getConstPointer() const { if(_internal) return _internal; else return _external; }
- const T *getConstPointerLoc(std::size_t offset) const { if(_internal) return _internal+offset; else return _external+offset; }
- T *getPointer() { if(_internal) return _internal; if(_external) throw INTERP_KERNEL::Exception("Trying to write on an external pointer."); else return 0; }
+ MEDCOUPLING_EXPORT MEDCouplingPointer():_internal(0),_external(0) { }
+ MEDCOUPLING_EXPORT void null() { _internal=0; _external=0; }
+ MEDCOUPLING_EXPORT bool isNull() const { return _internal==0 && _external==0; }
+ MEDCOUPLING_EXPORT void setInternal(T *pointer);
+ MEDCOUPLING_EXPORT void setExternal(const T *pointer);
+ MEDCOUPLING_EXPORT const T *getConstPointer() const { if(_internal) return _internal; else return _external; }
+ MEDCOUPLING_EXPORT const T *getConstPointerLoc(std::size_t offset) const { if(_internal) return _internal+offset; else return _external+offset; }
+ MEDCOUPLING_EXPORT T *getPointer() { if(_internal) return _internal; if(_external) throw INTERP_KERNEL::Exception("Trying to write on an external pointer."); else return 0; }
private:
T *_internal;
const T *_external;
public:
typedef void (*Deallocator)(void *,void *);
public:
- MemArray():_nb_of_elem(0),_nb_of_elem_alloc(0),_ownership(false),_dealloc(0),_param_for_deallocator(0) { }
- MemArray(const MemArray<T>& other);
- bool isNull() const { return _pointer.isNull(); }
- const T *getConstPointerLoc(std::size_t offset) const { return _pointer.getConstPointerLoc(offset); }
- const T *getConstPointer() const { return _pointer.getConstPointer(); }
- std::size_t getNbOfElem() const { return _nb_of_elem; }
- std::size_t getNbOfElemAllocated() const { return _nb_of_elem_alloc; }
- T *getPointer() { return _pointer.getPointer(); }
- MemArray<T> &operator=(const MemArray<T>& other);
- T operator[](std::size_t id) const { return _pointer.getConstPointer()[id]; }
- T& operator[](std::size_t id) { return _pointer.getPointer()[id]; }
- bool isEqual(const MemArray<T>& other, T prec, std::string& reason) const;
- void repr(int sl, std::ostream& stream) const;
- bool reprHeader(int sl, std::ostream& stream) const;
- void reprZip(int sl, std::ostream& stream) const;
- void reprNotTooLong(int sl, std::ostream& stream) const;
- void fillWithValue(const T& val);
- T *fromNoInterlace(int nbOfComp) const;
- T *toNoInterlace(int nbOfComp) const;
- void sort(bool asc);
- void reverse(int nbOfComp);
- void alloc(std::size_t nbOfElements);
- void reserve(std::size_t newNbOfElements);
- void reAlloc(std::size_t newNbOfElements);
- void useArray(const T *array, bool ownership, DeallocType type, std::size_t nbOfElem);
- void useExternalArrayWithRWAccess(const T *array, std::size_t nbOfElem);
- void writeOnPlace(std::size_t id, T element0, const T *others, std::size_t sizeOfOthers);
+ MEDCOUPLING_EXPORT MemArray():_nb_of_elem(0),_nb_of_elem_alloc(0),_ownership(false),_dealloc(0),_param_for_deallocator(0) { }
+ MEDCOUPLING_EXPORT MemArray(const MemArray<T>& other);
+ MEDCOUPLING_EXPORT bool isNull() const { return _pointer.isNull(); }
+ MEDCOUPLING_EXPORT const T *getConstPointerLoc(std::size_t offset) const { return _pointer.getConstPointerLoc(offset); }
+ MEDCOUPLING_EXPORT const T *getConstPointer() const { return _pointer.getConstPointer(); }
+ MEDCOUPLING_EXPORT std::size_t getNbOfElem() const { return _nb_of_elem; }
+ MEDCOUPLING_EXPORT std::size_t getNbOfElemAllocated() const { return _nb_of_elem_alloc; }
+ MEDCOUPLING_EXPORT T *getPointer() { return _pointer.getPointer(); }
+ MEDCOUPLING_EXPORT MemArray<T> &operator=(const MemArray<T>& other);
+ MEDCOUPLING_EXPORT T operator[](std::size_t id) const { return _pointer.getConstPointer()[id]; }
+ MEDCOUPLING_EXPORT T& operator[](std::size_t id) { return _pointer.getPointer()[id]; }
+ MEDCOUPLING_EXPORT bool isEqual(const MemArray<T>& other, T prec, std::string& reason) const;
+ MEDCOUPLING_EXPORT void repr(int sl, std::ostream& stream) const;
+ MEDCOUPLING_EXPORT bool reprHeader(int sl, std::ostream& stream) const;
+ MEDCOUPLING_EXPORT void reprZip(int sl, std::ostream& stream) const;
+ MEDCOUPLING_EXPORT void reprNotTooLong(int sl, std::ostream& stream) const;
+ MEDCOUPLING_EXPORT void fillWithValue(const T& val);
+ MEDCOUPLING_EXPORT T *fromNoInterlace(int nbOfComp) const;
+ MEDCOUPLING_EXPORT T *toNoInterlace(int nbOfComp) const;
+ MEDCOUPLING_EXPORT void sort(bool asc);
+ MEDCOUPLING_EXPORT void reverse(int nbOfComp);
+ MEDCOUPLING_EXPORT void alloc(std::size_t nbOfElements);
+ MEDCOUPLING_EXPORT void reserve(std::size_t newNbOfElements);
+ MEDCOUPLING_EXPORT void reAlloc(std::size_t newNbOfElements);
+ MEDCOUPLING_EXPORT void useArray(const T *array, bool ownership, DeallocType type, std::size_t nbOfElem);
+ MEDCOUPLING_EXPORT void useExternalArrayWithRWAccess(const T *array, std::size_t nbOfElem);
+ MEDCOUPLING_EXPORT void writeOnPlace(std::size_t id, T element0, const T *others, std::size_t sizeOfOthers);
template<class InputIterator>
void insertAtTheEnd(InputIterator first, InputIterator last);
- void pushBack(T elem);
- T popBack();
- void pack() const;
- bool isDeallocatorCalled() const { return _ownership; }
- Deallocator getDeallocator() const { return _dealloc; }
- void setSpecificDeallocator(Deallocator dealloc) { _dealloc=dealloc; }
- void setParameterForDeallocator(void *param) { _param_for_deallocator=param; }
- void *getParameterForDeallocator() const { return _param_for_deallocator; }
- void destroy();
- ~MemArray() { destroy(); }
+ MEDCOUPLING_EXPORT void pushBack(T elem);
+ MEDCOUPLING_EXPORT T popBack();
+ MEDCOUPLING_EXPORT void pack() const;
+ MEDCOUPLING_EXPORT bool isDeallocatorCalled() const { return _ownership; }
+ MEDCOUPLING_EXPORT Deallocator getDeallocator() const { return _dealloc; }
+ MEDCOUPLING_EXPORT void setSpecificDeallocator(Deallocator dealloc) { _dealloc=dealloc; }
+ MEDCOUPLING_EXPORT void setParameterForDeallocator(void *param) { _param_for_deallocator=param; }
+ MEDCOUPLING_EXPORT void *getParameterForDeallocator() const { return _param_for_deallocator; }
+ MEDCOUPLING_EXPORT void destroy();
+ MEDCOUPLING_EXPORT ~MemArray() { destroy(); }
public:
static void CPPDeallocator(void *pt, void *param);
static void CDeallocator(void *pt, void *param);
//
MEDCOUPLING_EXPORT std::size_t getNumberOfTuples() const { return _info_on_compo.empty()?0:_mem.getNbOfElem()/getNumberOfComponents(); }
MEDCOUPLING_EXPORT std::size_t getNbOfElems() const { return _mem.getNbOfElem(); }
- bool empty() const;
+ MEDCOUPLING_EXPORT bool empty() const;
MEDCOUPLING_EXPORT void *getVoidStarPointer() { return getPointer(); }
MEDCOUPLING_EXPORT const T *getConstPointer() const { return _mem.getConstPointer(); }
MEDCOUPLING_EXPORT const T *begin() const { return getConstPointer(); }
MEDCOUPLING_EXPORT const T *end() const { return getConstPointer()+getNbOfElems(); }
MEDCOUPLING_EXPORT T *rwBegin() { return getPointer(); }
MEDCOUPLING_EXPORT T *rwEnd() { return getPointer()+getNbOfElems(); }
- void alloc(std::size_t nbOfTuple, std::size_t nbOfCompo=1);
- void useArray(const T *array, bool ownership, DeallocType type, int nbOfTuple, int nbOfCompo);
- void useExternalArrayWithRWAccess(const T *array, int nbOfTuple, int nbOfCompo);
- T getIJSafe(int tupleId, int compoId) const;
+ MEDCOUPLING_EXPORT void alloc(std::size_t nbOfTuple, std::size_t nbOfCompo=1);
+ MEDCOUPLING_EXPORT void useArray(const T *array, bool ownership, DeallocType type, int nbOfTuple, int nbOfCompo);
+ MEDCOUPLING_EXPORT void useExternalArrayWithRWAccess(const T *array, int nbOfTuple, int nbOfCompo);
+ MEDCOUPLING_EXPORT T getIJSafe(int tupleId, int compoId) const;
MEDCOUPLING_EXPORT T getIJ(int tupleId, int compoId) const { return _mem[tupleId*_info_on_compo.size()+compoId]; }
MEDCOUPLING_EXPORT void setIJ(int tupleId, int compoId, T newVal) { _mem[tupleId*_info_on_compo.size()+compoId]=newVal; declareAsNew(); }
MEDCOUPLING_EXPORT void setIJSilent(int tupleId, int compoId, T newVal) { _mem[tupleId*_info_on_compo.size()+compoId]=newVal; }
MEDCOUPLING_EXPORT T *getPointer() { return _mem.getPointer(); declareAsNew(); }
- void pack() const;
- bool isAllocated() const;
- void checkAllocated() const;
- void desallocate();
- void reserve(std::size_t nbOfElems);
- void rearrange(int newNbOfCompo);
- void transpose();
- void pushBackSilent(T val);
- void pushBackValsSilent(const T *valsBg, const T *valsEnd);
- T popBackSilent();
- T front() const;
- T back() const;
- std::size_t getNbOfElemAllocated() const { return _mem.getNbOfElemAllocated(); }
- void allocIfNecessary(int nbOfTuple, int nbOfCompo);
- void deepCopyFrom(const DataArrayTemplate<T>& other);
- void reverse();
- void fillWithValue(T val);
- void reAlloc(std::size_t newNbOfTuple);
- void renumberInPlace(const int *old2New);
- void renumberInPlaceR(const int *new2Old);
- void sort(bool asc=true);
- typename Traits<T>::ArrayType *renumber(const int *old2New) const;
- typename Traits<T>::ArrayType *renumberR(const int *new2Old) const;
- typename Traits<T>::ArrayType *renumberAndReduce(const int *old2New, int newNbOfTuple) const;
- typename Traits<T>::ArrayType *changeNbOfComponents(int newNbOfComp, T dftValue) const;
- typename Traits<T>::ArrayType *subArray(int tupleIdBg, int tupleIdEnd=-1) const;
- MCAuto<typename Traits<T>::ArrayTypeCh> selectPartDef(const PartDefinition* pd) const;
- void circularPermutation(int nbOfShift=1);
- void circularPermutationPerTuple(int nbOfShift=1);
- void reversePerTuple();
- void setPartOfValues1(const typename Traits<T>::ArrayType *a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare=true);
- void setPartOfValuesSimple1(T a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp);
- void setPartOfValues2(const typename Traits<T>::ArrayType *a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp, bool strictCompoCompare=true);
- void setPartOfValuesSimple2(T a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp);
- void setPartOfValues3(const typename Traits<T>::ArrayType *a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare=true);
- void setPartOfValuesSimple3(T a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp);
- void setPartOfValues4(const typename Traits<T>::ArrayType *a, int bgTuples, int endTuples, int stepTuples, const int *bgComp, const int *endComp, bool strictCompoCompare=true);
- void setPartOfValuesSimple4(T a, int bgTuples, int endTuples, int stepTuples, const int *bgComp, const int *endComp);
- void setPartOfValuesAdv(const typename Traits<T>::ArrayType *a, const DataArrayInt32 *tuplesSelec);
- void setContigPartOfSelectedValues(int tupleIdStart, const DataArray *aBase, const DataArrayInt32 *tuplesSelec);
- void setContigPartOfSelectedValuesSlice(int tupleIdStart, const DataArray *aBase, int bg, int end2, int step);
- T getMaxValue(int& tupleId) const;
- T getMaxValueInArray() const;
- T getMaxAbsValue(std::size_t& tupleId) const;
- T getMaxAbsValueInArray() const;
- T getMinValue(int& tupleId) const;
- T getMinValueInArray() const;
+ MEDCOUPLING_EXPORT void pack() const;
+ MEDCOUPLING_EXPORT bool isAllocated() const;
+ MEDCOUPLING_EXPORT void checkAllocated() const;
+ MEDCOUPLING_EXPORT void desallocate();
+ MEDCOUPLING_EXPORT void reserve(std::size_t nbOfElems);
+ MEDCOUPLING_EXPORT void rearrange(int newNbOfCompo);
+ MEDCOUPLING_EXPORT void transpose();
+ MEDCOUPLING_EXPORT void pushBackSilent(T val);
+ MEDCOUPLING_EXPORT void pushBackValsSilent(const T *valsBg, const T *valsEnd);
+ MEDCOUPLING_EXPORT T popBackSilent();
+ MEDCOUPLING_EXPORT T front() const;
+ MEDCOUPLING_EXPORT T back() const;
+ MEDCOUPLING_EXPORT std::size_t getNbOfElemAllocated() const { return _mem.getNbOfElemAllocated(); }
+ MEDCOUPLING_EXPORT void allocIfNecessary(int nbOfTuple, int nbOfCompo);
+ MEDCOUPLING_EXPORT void deepCopyFrom(const DataArrayTemplate<T>& other);
+ MEDCOUPLING_EXPORT void reverse();
+ MEDCOUPLING_EXPORT void fillWithValue(T val);
+ MEDCOUPLING_EXPORT void reAlloc(std::size_t newNbOfTuple);
+ MEDCOUPLING_EXPORT void renumberInPlace(const int *old2New);
+ MEDCOUPLING_EXPORT void renumberInPlaceR(const int *new2Old);
+ MEDCOUPLING_EXPORT void sort(bool asc=true);
+ MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *renumber(const int *old2New) const;
+ MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *renumberR(const int *new2Old) const;
+ MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *renumberAndReduce(const int *old2New, int newNbOfTuple) const;
+ MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *changeNbOfComponents(int newNbOfComp, T dftValue) const;
+ MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *subArray(int tupleIdBg, int tupleIdEnd=-1) const;
+ MEDCOUPLING_EXPORT MCAuto<typename Traits<T>::ArrayTypeCh> selectPartDef(const PartDefinition* pd) const;
+ MEDCOUPLING_EXPORT void circularPermutation(int nbOfShift=1);
+ MEDCOUPLING_EXPORT void circularPermutationPerTuple(int nbOfShift=1);
+ MEDCOUPLING_EXPORT void reversePerTuple();
+ MEDCOUPLING_EXPORT void setPartOfValues1(const typename Traits<T>::ArrayType *a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare=true);
+ MEDCOUPLING_EXPORT void setPartOfValuesSimple1(T a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp);
+ MEDCOUPLING_EXPORT void setPartOfValues2(const typename Traits<T>::ArrayType *a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp, bool strictCompoCompare=true);
+ MEDCOUPLING_EXPORT void setPartOfValuesSimple2(T a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp);
+ MEDCOUPLING_EXPORT void setPartOfValues3(const typename Traits<T>::ArrayType *a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare=true);
+ MEDCOUPLING_EXPORT void setPartOfValuesSimple3(T a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp);
+ MEDCOUPLING_EXPORT void setPartOfValues4(const typename Traits<T>::ArrayType *a, int bgTuples, int endTuples, int stepTuples, const int *bgComp, const int *endComp, bool strictCompoCompare=true);
+ MEDCOUPLING_EXPORT void setPartOfValuesSimple4(T a, int bgTuples, int endTuples, int stepTuples, const int *bgComp, const int *endComp);
+ MEDCOUPLING_EXPORT void setPartOfValuesAdv(const typename Traits<T>::ArrayType *a, const DataArrayInt32 *tuplesSelec);
+ MEDCOUPLING_EXPORT void setContigPartOfSelectedValues(int tupleIdStart, const DataArray *aBase, const DataArrayInt32 *tuplesSelec);
+ MEDCOUPLING_EXPORT void setContigPartOfSelectedValuesSlice(int tupleIdStart, const DataArray *aBase, int bg, int end2, int step);
+ MEDCOUPLING_EXPORT T getMaxValue(int& tupleId) const;
+ MEDCOUPLING_EXPORT T getMaxValueInArray() const;
+ MEDCOUPLING_EXPORT T getMaxAbsValue(std::size_t& tupleId) const;
+ MEDCOUPLING_EXPORT T getMaxAbsValueInArray() const;
+ MEDCOUPLING_EXPORT T getMinValue(int& tupleId) const;
+ MEDCOUPLING_EXPORT T getMinValueInArray() const;
MEDCOUPLING_EXPORT void getTuple(int tupleId, T *res) const { std::copy(_mem.getConstPointerLoc(tupleId*_info_on_compo.size()),_mem.getConstPointerLoc((tupleId+1)*_info_on_compo.size()),res); }
template<class InputIterator>
void insertAtTheEnd(InputIterator first, InputIterator last);
#include "MEDCouplingPartDefinition.hxx"
+#include <functional>
#include <sstream>
using namespace MEDCoupling;
*/
DataArrayInt *MEDCouplingUMesh::colinearize2D(double eps)
{
- internalColinearize2D(eps, false);
+ return internalColinearize2D(eps, false);
}
/*!
*/
DataArrayInt *MEDCouplingUMesh::colinearizeKeepingConform2D(double eps)
{
- internalColinearize2D(eps, true);
+ return internalColinearize2D(eps, true);
}
#include "MEDCouplingCMesh.hxx"
#include "MEDCouplingMappedExtrudedMesh.hxx"
#include "MEDCouplingFieldDouble.hxx"
-#include "MEDCouplingMemArray.hxx"
-
#include <sstream>
#include <cmath>
#include <algorithm>
#include <functional>
-#ifdef WIN32
-#include "MEDCouplingMemArray.txx"
-#endif
-
using namespace MEDCoupling;
void MEDCouplingBasicsTest1::testArray()
swig_ready)
ENDIF()
-SWIG_ADD_MODULE(MEDCoupling python MEDCoupling.i)
-SWIG_LINK_LIBRARIES(MEDCoupling ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medcouplingcpp)
-SWIG_CHECK_GENERATION(MEDCoupling)
+IF(WIN32)
+ # Under Windows MEDCoupling conflicts wiht medcoupling from PyWrapping
+ SET(MEDCouling_target_name MEDCouplingCompat)
+ELSE()
+ SET(MEDCouling_target_name MEDCoupling)
+ENDIF()
+
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(${MEDCouling_target_name} python MEDCoupling.i)
+ELSE()
+ SWIG_ADD_LIBRARY(${MEDCouling_target_name} LANGUAGE python SOURCES MEDCoupling.i)
+ENDIF()
+
+SWIG_LINK_LIBRARIES(${MEDCouling_target_name} ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medcouplingcpp)
+SWIG_CHECK_GENERATION(${MEDCouling_target_name})
SET_SOURCE_FILES_PROPERTIES(MEDCouplingRemapper.i PROPERTIES CPLUSPLUS ON)
IF ("${PYTHON_VERSION_MAJOR}" STREQUAL "3")
SET_SOURCE_FILES_PROPERTIES(MEDCouplingRemapper.i PROPERTIES SWIG_FLAGS "-py3")
${medcoupling_HEADERS_HXX} ${medcoupling_HEADERS_TXX}
${interpkernel_HEADERS_HXX} ${interpkernel_HEADERS_TXX})
-SWIG_ADD_MODULE(MEDCouplingRemapper python MEDCouplingRemapper.i)
+
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(MEDCouplingRemapper python MEDCouplingRemapper.i)
+ELSE()
+ SWIG_ADD_LIBRARY(MEDCouplingRemapper LANGUAGE python SOURCES MEDCouplingRemapper.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(MEDCouplingRemapper ${PYTHON_LIBRARIES} medcouplingremapper)
IF(WIN32)
SET_TARGET_PROPERTIES(_MEDCouplingRemapper PROPERTIES DEBUG_OUTPUT_NAME _MEDCouplingRemapper_d)
- SET_TARGET_PROPERTIES(_MEDCoupling PROPERTIES DEBUG_OUTPUT_NAME _MEDCoupling_d)
+ SET_TARGET_PROPERTIES(_${MEDCouling_target_name} PROPERTIES DEBUG_OUTPUT_NAME _${MEDCouling_target_name}_d)
ENDIF(WIN32)
-INSTALL(TARGETS ${SWIG_MODULE_MEDCoupling_REAL_NAME} ${SWIG_MODULE_MEDCouplingRemapper_REAL_NAME} DESTINATION ${MEDCOUPLING_INSTALL_PYTHON})
+INSTALL(TARGETS ${SWIG_MODULE_${MEDCouling_target_name}_REAL_NAME} ${SWIG_MODULE_MEDCouplingRemapper_REAL_NAME} DESTINATION ${MEDCOUPLING_INSTALL_PYTHON})
SET(PYFILES_TO_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/MEDCoupling.py ${CMAKE_CURRENT_BINARY_DIR}/MEDCouplingRemapper.py)
SALOME_INSTALL_SCRIPTS("${PYFILES_TO_INSTALL}" ${MEDCOUPLING_INSTALL_PYTHON} EXTRA_DPYS "${SWIG_MODULE_MEDCoupling_REAL_NAME};${SWIG_MODULE_MEDCouplingRemapper_REAL_NAME}")
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
+
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
+
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
#include "MEDCouplingMappedExtrudedMesh.hxx"
#include "MEDCouplingCMesh.hxx"
#include "MEDCouplingIMesh.hxx"
+#include "MEDCouplingMap.txx"
#include "MEDCouplingCurveLinearMesh.hxx"
#include "MEDCoupling1GTUMesh.hxx"
#include "MEDCouplingField.hxx"
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
class MEDCouplingDataForTest:
def build2DTargetMesh_1(cls):
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi, sqrt
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
import unittest
from math import pi,e,sqrt,cos,sin
from datetime import datetime
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
if MEDCouplingHasNumPyBindings():
from numpy import *
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
from MEDCouplingDataForTest import MEDCouplingDataForTest
if MEDCouplingHasNumPyBindings():
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
from math import pi, sqrt
# ! [PySnippetUMeshStdBuild1_1]
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+import sys
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
-from MEDCoupling import *
from math import pi, sqrt
import numpy
-import MEDCoupling
+if sys.platform == "win32":
+ import MEDCouplingCompat as MEDCoupling
+else:
+ import MEDCoupling
+
#! [UG_DataArrayNumpy_0]
# NumPy is an optional pre-requisite!
assert(MEDCoupling.MEDCouplingHasNumPyBindings())
swig_ready)
ENDIF()
-SWIG_ADD_MODULE(MEDLoader python MEDLoader.i)
+
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(MEDLoader python MEDLoader.i)
+ELSE()
+ SWIG_ADD_LIBRARY(MEDLoader LANGUAGE python SOURCES MEDLoader.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(MEDLoader ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medloader medcouplingcpp )
SWIG_CHECK_GENERATION(MEDLoader)
IF(WIN32)
SET_TARGET_PROPERTIES(_MEDLoader PROPERTIES DEBUG_OUTPUT_NAME _MEDLoader_d)
+ # To increase the size of the .obj file on Windows because MEDLoaderPYTHON_wrap.cxx, generated by SWIG, is too big
+ TARGET_COMPILE_OPTIONS(_MEDLoader PRIVATE /bigobj)
ENDIF(WIN32)
INSTALL(TARGETS _MEDLoader DESTINATION ${MEDCOUPLING_INSTALL_PYTHON})
${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
)
-SWIG_ADD_MODULE(MEDPartitioner python MEDPartitioner.i)
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(MEDPartitioner python MEDPartitioner.i)
+ELSE()
+ SWIG_ADD_LIBRARY(MEDPartitioner LANGUAGE python SOURCES MEDPartitioner.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(MEDPartitioner ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medpartitionercpp)
SWIG_CHECK_GENERATION(MEDPartitioner)
${medcoupling_HEADERS_HXX} ${medcoupling_HEADERS_TXX}
${interpkernel_HEADERS_HXX} ${interpkernel_HEADERS_TXX})
-SWIG_ADD_MODULE(ParaMEDMEM python ParaMEDMEM.i)
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(ParaMEDMEM python ParaMEDMEM.i)
+ELSE()
+ SWIG_ADD_LIBRARY(ParaMEDMEM LANGUAGE python SOURCES ParaMEDMEM.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(ParaMEDMEM ${PYTHON_LIBRARIES} paramedmem)
SWIG_CHECK_GENERATION(ParaMEDMEM)
LIST(APPEND medcoupling_LIB_dependancies paramedmem)
ENDIF(MEDCOUPLING_USE_MPI)
-SWIG_ADD_MODULE(medcoupling python medcoupling.i)
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(medcoupling python medcoupling.i)
+ELSE()
+ SWIG_ADD_LIBRARY(medcoupling LANGUAGE python SOURCES medcoupling.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(medcoupling ${medcoupling_LIB_dependancies})
SWIG_CHECK_GENERATION(medcoupling)
IF(WIN32)
${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
)
-SWIG_ADD_MODULE(MEDRenumber python MEDRenumber.i)
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(MEDRenumber python MEDRenumber.i)
+ELSE()
+ SWIG_ADD_LIBRARY(MEDRenumber LANGUAGE python SOURCES MEDRenumber.i)
+ENDIF()
+
SWIG_LINK_LIBRARIES(MEDRenumber ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} renumbercpp)
SWIG_CHECK_GENERATION(MEDRenumber)
%include std_string.i
%{
+#ifdef WIN32
+#define MEDCOUPLING_WIN32_SWIG
+#endif
#include "MEDCouplingMemArray.txx"
#include "MCAuto.hxx"
#include "MEDCouplingDataArrayTypemaps.i"
%init %{ import_array(); %}
#endif
-%init %{ initializeMe(); %}
+%init %{ initializeMe_renumber(); %}
%feature("autodoc", "1");
%feature("docstring");
%include "MEDCouplingMemArray.i"
%{
- void initializeMe()
+ void initializeMe_renumber()
{// AGY : here initialization of C++ traits in MEDCouplingDataArrayTypemaps.i for code factorization. Awful, I know, but no other solutions.
SWIGTITraits<double>::TI=SWIGTYPE_p_MEDCoupling__DataArrayDouble;
SWIGTITraits<float>::TI=SWIGTYPE_p_MEDCoupling__DataArrayFloat;
from MEDRenumber import *
import unittest
+import sys
class MEDRenumberTest(unittest.TestCase):
@unittest.skipUnless("BOOST" in RenumberAvailableMethods(),"requires BOOST prerequisite !")
def test1(self):
- from MEDCoupling import MEDCouplingCMesh
+ if sys.platform == "win32":
+ from MEDCouplingCompat import MEDCouplingCMesh
+ else:
+ from MEDCoupling import MEDCouplingCMesh
+
ren=RenumberingFactory("BOOST")
arr=DataArrayDouble(10) ; arr.iota()
c=MEDCouplingCMesh() ; c.setCoords(arr,arr)
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from MEDCoupling import *
+import sys
+
+if sys.platform == "win32":
+ from MEDCouplingCompat import *
+else:
+ from MEDCoupling import *
+
from math import pi, sqrt
-import MEDCoupling
+if sys.platform == "win32":
+ import MEDCouplingCompat as MEDCoupling
+else:
+ import MEDCoupling
from MEDCouplingDataForTest import MEDCouplingDataForTest
m=MEDCouplingDataForTest.build2DTargetMesh_1();
#! [UG_Optimization_0]
#! [UG_Optimization_1]
-from MEDCoupling import MEDCouplingSkyLineArray
import MEDPartitioner
# prepare a MEDPartitioner
a,b=m.computeNeighborsOfCells()