Ceetron Data Provider Framework
CDPElementGroup.h
1 //##################################################################################################
2 //
3 // Ceetron Data Provider Framework
4 //
5 // --------------------------------------------------------------------------------------------
6 // Copyright (C) 2018, Ceetron AS
7 //##################################################################################################
8 
9 #pragma once
10 
11 #include "CDPBaseTypes.h"
12 #include "CDPDataProviderTypes.h"
13 
14 
15 //==================================================================================================
16 //
17 //
18 //
19 //==================================================================================================
21 {
22 public:
23  virtual ~CDPElementGroup() {};
24 
25  virtual void addSingleTypeElements(CDPElementType elementType, cdp_size_t elementCount, const cdp_int_t* elementNodeArr, cdp_size_t elementNodeCount, const cdp_int_t* elementIdArr) = 0;
26  virtual void addMultipleTypeElements(const CDPElementType* elementTypeArr, cdp_size_t elementCount, const cdp_int_t* elementNodeArr, cdp_size_t elementNodeCount, const cdp_int_t* elementIdArr) = 0;
27  virtual void addPolyhedronData(const cdp_ubyte_t* numNodesPerPolyhedronArr, const cdp_ubyte_t* numFacesPerPolyhedronArr, cdp_size_t polyhedronCount, const cdp_ubyte_t* numNodesPerFaceArr, cdp_size_t totalFaceCount, const cdp_int_t* faceNodeIndicesArr, cdp_size_t faceNodeIndicesCount) = 0;
28 
29  virtual void setElementPartIds(const cdp_int_t* partIdArr, cdp_size_t elementCount) = 0;
30 
31  virtual void setPrescribedElementOrdering(const cdp_int_t* elementTargetIndices, cdp_size_t elementCount) = 0;
32 };
33 
virtual void addMultipleTypeElements(const CDPElementType *elementTypeArr, cdp_size_t elementCount, const cdp_int_t *elementNodeArr, cdp_size_t elementNodeCount, const cdp_int_t *elementIdArr)=0
Definition: CDPElementGroup.cpp:67
virtual void setElementPartIds(const cdp_int_t *partIdArr, cdp_size_t elementCount)=0
Definition: CDPElementGroup.cpp:111
virtual void addSingleTypeElements(CDPElementType elementType, cdp_size_t elementCount, const cdp_int_t *elementNodeArr, cdp_size_t elementNodeCount, const cdp_int_t *elementIdArr)=0
Definition: CDPElementGroup.cpp:42
Definition: CDPElementGroup.h:20
virtual void addPolyhedronData(const cdp_ubyte_t *numNodesPerPolyhedronArr, const cdp_ubyte_t *numFacesPerPolyhedronArr, cdp_size_t polyhedronCount, const cdp_ubyte_t *numNodesPerFaceArr, cdp_size_t totalFaceCount, const cdp_int_t *faceNodeIndicesArr, cdp_size_t faceNodeIndicesCount)=0
Definition: CDPElementGroup.cpp:94
virtual void setPrescribedElementOrdering(const cdp_int_t *elementTargetIndices, cdp_size_t elementCount)=0
Definition: CDPElementGroup.cpp:127
CDPElementType
Element types supported by this framework. All element types except for CDP_ELT_POLYHEDRONS have a fi...
Definition: CDPDataProviderTypes.h:15