30 #ifndef CORE_DATATYPES_GEOMETRY_H
31 #define CORE_DATATYPES_GEOMETRY_H
38 #include <spire/Interface.h>
43 #include <spire/src/ShaderUniformStateManTemplates.h>
51 namespace spire = CPM_SPIRE_NS;
68 SpireVBO(
const std::string& vboName,
const std::vector<std::string> attribs,
69 std::shared_ptr<std::vector<uint8_t>> vboData,
72 attributeNames(attribs),
79 std::shared_ptr<std::vector<uint8_t>>
data;
86 SpireIBO(
const std::string& iboName,
size_t iboIndexSize,
87 std::shared_ptr<std::vector<uint8_t>> iboData) :
89 indexSize(iboIndexSize),
95 std::shared_ptr<std::vector<uint8_t>>
data;
105 const std::string& ibo,
const std::string& program,
106 spire::Interface::PRIMITIVE_TYPES primType) :
110 programName(program),
118 spire::Interface::PRIMITIVE_TYPES
type;
120 template <
typename T>
121 void addUniform(
const std::string& uniformName, T uniformData)
124 std::make_pair(uniformName, std::shared_ptr<spire::AbstractUniformStateItem>(
125 new spire::UniformStateItem<T>(uniformData))));
129 std::list<std::tuple<
130 std::string, std::shared_ptr<spire::AbstractUniformStateItem>>>
uniforms;
std::list< std::tuple< std::string, std::shared_ptr< spire::AbstractUniformStateItem > > > uniforms
Definition: Geometry.h:130
std::string iboName
Definition: Geometry.h:116
Definition: Geometry.h:53
SpireVBO(const std::string &vboName, const std::vector< std::string > attribs, std::shared_ptr< std::vector< uint8_t >> vboData, const Core::Geometry::BBox &bbox)
Definition: Geometry.h:68
SpireSubPass(const std::string &name, const std::string &vbo, const std::string &ibo, const std::string &program, spire::Interface::PRIMITIVE_TYPES primType)
Definition: Geometry.h:104
#define SCISHARE
Definition: share.h:39
Defines a Spire object 'pass'.
Definition: Geometry.h:102
spire::Interface::PRIMITIVE_TYPES type
Definition: Geometry.h:118
std::vector< std::string > attributeNames
Definition: Geometry.h:78
void addUniform(const std::string &uniformName, T uniformData)
Definition: Geometry.h:121
Definition: Geometry.h:84
Definition: Datatype.h:41
virtual GeometryObject * clone() const
Definition: Geometry.h:60
const char * name[]
Definition: BoostGraphExampleTests.cc:87
std::string name
Definition: Geometry.h:93
dictionary data
Definition: eabLatVolData.py:11
std::string programName
Definition: Geometry.h:117
std::string name
Definition: Geometry.h:77
double mHighestValue
Highest value a field takes on.
Definition: Geometry.h:140
std::shared_ptr< std::vector< uint8_t > > data
Definition: Geometry.h:79
std::shared_ptr< std::vector< uint8_t > > data
Definition: Geometry.h:95
std::list< SpireSubPass > mPasses
List of passes to setup.
Definition: Geometry.h:134
std::string objectName
Definition: Geometry.h:62
std::list< SpireIBO > mIBOs
Array of index buffer objects.
Definition: Geometry.h:99
double mLowestValue
Lowest value a field takes on.
Definition: Geometry.h:139
boost::optional< std::string > mColorMap
Optional colormap name.
Definition: Geometry.h:137
boost::shared_ptr< const Datatype > DatatypeConstHandle
Definition: DatatypeFwd.h:46
std::string passName
Definition: Geometry.h:114
Core::Geometry::BBox boundingBox
Definition: Geometry.h:80
size_t indexSize
Definition: Geometry.h:94
Definition: Geometry.h:66
std::string vboName
Definition: Geometry.h:115
std::list< SpireVBO > mVBOs
Array of vertex buffer objects.
Definition: Geometry.h:98
SpireIBO(const std::string &iboName, size_t iboIndexSize, std::shared_ptr< std::vector< uint8_t >> iboData)
Definition: Geometry.h:86