29 #ifndef NEMOSYS_CONSERVATIVESURFACETRANSFER_H_ 30 #define NEMOSYS_CONSERVATIVESURFACETRANSFER_H_ 40 std::cout <<
"Conservative Surface Transfer destroyed" << std::endl;
49 static std::shared_ptr<ConservativeSurfaceTransfer>
51 return std::shared_ptr<ConservativeSurfaceTransfer>(
57 const std::vector<int> &arrayIDs = std::vector<int>(),
58 const std::vector<std::string> &newnames = std::vector<std::string>());
61 std::vector<vtkSmartPointer<vtkDoubleArray>> &dasSource,
62 std::vector<vtkSmartPointer<vtkDoubleArray>> &dasTarget,
71 const std::vector<int> &arrayIDs,
72 const std::vector<std::string> &newnames = std::vector<std::string>()) {
77 int i, vtkSmartPointer<vtkGenericCell> genCell,
78 std::vector<vtkSmartPointer<vtkDoubleArray>> &dasSourceToPoint,
79 std::vector<vtkSmartPointer<vtkDoubleArray>> &dasTarget) {
84 const std::vector<std::string> &newnames = std::vector<std::string>()) {
88 void transfer(
int arrayId);
92 void extractDataFromVTK(vtkDataSet *
data, std::vector<double> &coords,
93 std::vector<int> &
elems);
96 int RFC_clear, RFC_read,
RFC_write, RFC_overlay, RFC_transfer, RFC_interp;
112 #endif // NEMOSYS_CONSERVATIVESURFACETRANSFER_H_
data_type data
Edge/face with sorted point ids (a, b, c, ...) is located at some index i in data[b], with data[b][i].first == [a, c] (for edges, third point id treated as -1).
A brief description of meshBase.
static std::shared_ptr< ConservativeSurfaceTransfer > CreateShared(meshBase *_source, meshBase *_target)
int run(const std::vector< std::string > &newnames=std::vector< std::string >())
Transfer all fields.
int transferCellData(const std::vector< int > &arrayIDs, const std::vector< std::string > &newnames=std::vector< std::string >())
Transfer cell data with given ids from source to target.
~ConservativeSurfaceTransfer() override
virtual int transferPointData(const std::vector< int > &arrayIDs, const std::vector< std::string > &newnames=std::vector< std::string >())=0
Transfer point data with given ids from source to target.
static ConservativeSurfaceTransfer * Create(meshBase *_source, meshBase *_target)
int transferPointData(int i, vtkSmartPointer< vtkGenericCell > genCell, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasSource, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasTarget, bool flip)
int transferCellData(int i, vtkSmartPointer< vtkGenericCell > genCell, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasSourceToPoint, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasTarget)
std::map< std::string, std::vector< Elem > > elems
If the ELEMENT keyword line contains ELSET=name, then the element is stored in elems[name], otherwise, stored in elems[std::string{}].