View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

vertexownerlist.h
Go to the documentation of this file.
1#ifndef VERTEXOWNERLIST_H
2#define VERTEXOWNERLIST_H
3
4#include "export.h"
5#include "scalar.h"
6#include "index.h"
7#include "object.h"
8#include "archives_config.h"
9#include "vector.h"
10#include "shmvector.h"
11
12
13namespace vistle {
14
18
19public:
20 typedef Object Base;
21
22 VertexOwnerList(const Index numVertices, const Meta &meta = Meta());
23
24 shm<Index>::array &vertexList() { return *d()->vertexList; }
25 const Index *vertexList() const { return m_vertexList; }
26 shm<Index>::array &cellList() { return *d()->cellList; }
27 const Index *cellList() const { return m_cellList; }
28 Index getNumVertices() const;
31 Index getNeighbor(Index cell, Index vertex1, Index vertex2, Index vertex3) const;
33 std::pair<const Index *, Index> getSurroundingCells(Index v) const;
34
35private:
36 mutable const Index *m_vertexList, *m_cellList;
37
39 // index into cellList with vertex number
40 ShmVector<Index> vertexList;
41 // lists of cell numbers which use a vertex
42 ShmVector<Index> cellList;
43
44 static Data *create(const std::string &name = "", const Index size = 0, const Meta &m = Meta());
45 Data(const std::string &name = "", const Index numVertices = 0, const Meta &m = Meta());
47};
48
49} // namespace vistle
50#endif
Definition: objectmeta.h:16
Definition: object.h:58
map vertices to owning elements/cells
Definition: vertexownerlist.h:16
const Index * cellList() const
Definition: vertexownerlist.h:27
shm< Index >::array & vertexList()
Definition: vertexownerlist.h:24
const Index * vertexList() const
Definition: vertexownerlist.h:25
Object Base
Definition: vertexownerlist.h:20
shm< Index >::array & cellList()
Definition: vertexownerlist.h:26
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