View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

coords.h
Go to the documentation of this file.
1#ifndef COORDS_H
2#define COORDS_H
3
4#include "scalar.h"
5#include "shm.h"
6#include "object.h"
7#include "vec.h"
8#include "geometry.h"
9#include "normals.h"
10#include "shm_obj_ref.h"
11#include "export.h"
12
13namespace vistle {
14
15class V_COREEXPORT Coords: public Vec<Scalar, 3>, virtual public GeometryInterface {
17
18public:
20
21 Coords(const Index numVertices, const Meta &meta = Meta());
22
23 void resetCoords(); //< remove reference to coordinates and create empty ones
24 std::set<Object::const_ptr> referencedObjects() const override;
25
26 std::pair<Vector, Vector> getBounds() const override;
27 Index getNumCoords();
28 Index getNumCoords() const;
29 Index getNumVertices() override;
30 Index getNumVertices() const override;
31 Normals::const_ptr normals() const override;
32 void setNormals(Normals::const_ptr normals);
33 Vector3 getVertex(Index v) const override;
34
37
38 Data(const Index numVertices = 0, Type id = UNKNOWN, const std::string &name = "", const Meta &meta = Meta());
39 Data(const Vec<Scalar, 3>::Data &o, const std::string &n, Type id);
41 static Data *create(const std::string &name = "", Type id = UNKNOWN, const Index numVertices = 0,
42 const Meta &meta = Meta());
43
45};
46
48
49//ARCHIVE_ASSUME_ABSTRACT(Coords)
50
51} // namespace vistle
52#endif
Definition: coords.h:15
Normals::const_ptr normals() const override
static Data * create(const std::string &name="", Type id=UNKNOWN, const Index numVertices=0, const Meta &meta=Meta())
V_DATA_BEGIN(Coords)
shm_obj_ref< Normals > normals
Definition: coords.h:36
V_DATA_END(Coords)
Data(const Index numVertices=0, Type id=UNKNOWN, const std::string &name="", const Meta &meta=Meta())
Data(const Vec< Scalar, 3 >::Data &o, const std::string &n, Type id)
Vec< Scalar, 3 > Base
Definition: coords.h:19
Definition: geometry.h:14
Definition: objectmeta.h:16
std::shared_ptr< const Object > const_ptr
Definition: object.h:68
Type
Definition: object.h:84
Definition: vec.h:13
Definition: shm_obj_ref.h:15
#define V_COREEXPORT
Definition: export.h:9
Definition: allobjects.cpp:30
Eigen::Matrix< Scalar, 3, 1 > Vector3
Definition: vector.h:33
uint32_t Index
Definition: index.h:13
#define V_OBJECT_DECL(ObjType)
Definition: object.h:525
#define V_OBJECT(ObjType)
declare a new Object type
Definition: object.h:381
Definition: object.h:233