16 static constexpr int num_corners = N;
22 Index getNumElements()
override;
23 Index getNumElements()
const override;
24 Index getNumCorners();
25 Index getNumCorners()
const;
30 bool hasCelltree()
const override;
32 bool validateCelltree()
const override;
34 virtual std::pair<Vector, Vector> elementBounds(
Index elem)
const;
37 std::vector<Index> cellVertices(
Index elem)
const override;
40 void createCelltree(
Index nelem,
const Index *cl)
const;
42 mutable const Index *m_cl;
43 mutable Index m_numCorners = 0;
49 Data(
const Index numCorners = 0,
const Index numCoords = 0,
const std::string &name =
"",
51 static Data *create(
const Index numCorners = 0,
const Index numCoords = 0,
const Meta &meta =
Meta());
54 static_assert(N == 3 || N == 4,
"only usable for triangles and quads");
Definition: celltree.h:172
Definition: celltree.h:31
vistle::CelltreeInterface< 3 >::Celltree Celltree
Definition: ngons.h:18
Coords Base
Definition: ngons.h:17
const Index * cl() const
Definition: ngons.h:28
Index cellNumFaces(Index elem) const override
Definition: ngons.h:36
shm< Index >::array & cl()
Definition: ngons.h:27
std::shared_ptr< const Object > const_ptr
Definition: object.h:68
Definition: shm_reference.h:15
Definition: shm_array.h:19
#define V_COREEXPORT
Definition: export.h:9
Definition: allobjects.cpp:30
uint32_t Index
Definition: index.h:13
#define V_DATA_BEGIN(ObjType)
Definition: object.h:474
#define V_DATA_END(ObjType)
Definition: object.h:481
#define V_OBJECT(ObjType)
declare a new Object type
Definition: object.h:381