18 #ifndef PRTX_GEOMETRY_H_ 19 #define PRTX_GEOMETRY_H_ 21 #include "prtx/prtx.h" 22 #include "prtx/Builder.h" 24 #include "prtx/Content.h" 25 #include "prtx/Attributable.h" 31 # pragma warning(push) 32 # pragma warning (disable : 4231 4251 4275 4660) 36 class AttributablePayload;
42 using MeshPtr = std::shared_ptr<Mesh>;
81 virtual const BoundingBox& getBoundingBox()
const = 0;
118 virtual GeometryPtr createShared(std::wstring* warnings = 0)
const;
125 virtual GeometryPtr createSharedAndReset(std::wstring* warnings = 0);
132 void setURI(
const URIPtr& uri);
139 uint32_t addMesh(
const MeshPtr& mesh);
150 virtual void setBool (
const std::wstring& key,
Bool val);
151 virtual void setInt (
const std::wstring& key, int32_t val);
152 virtual void setFloat (
const std::wstring& key,
double val);
153 virtual void setString (
const std::wstring& key,
const std::wstring& val);
154 virtual void setBoolArray (
const std::wstring& key,
const BoolVector& val);
155 virtual void setIntArray (
const std::wstring& key,
const Int32Vector& val);
156 virtual void setFloatArray (
const std::wstring& key,
const DoubleVector& val);
157 virtual void setStringArray (
const std::wstring& key,
const WStringVector& val);
158 virtual void setBlindData (
const std::wstring& key,
void* val);
165 AttributablePayload* mAttributes;
174 # pragma warning(pop)
URIPtr getURI() const
Definition: Geometry.h:67
uint8_t Bool
uint8_t based Bool type
Definition: Types.h:30
std::vector< prtx::Bool > BoolVector
vector of uint8_t based Bool type
Definition: Types.h:31
Definition: BoundingBox.h:38
Definition: /Attributable.h:37
std::vector< double > DoubleVector
vector of double
Definition: Types.h:32
const MeshPtrVector & getMeshes() const
Definition: Geometry.h:74
Definition: /Attributable.h:139
std::vector< GeometryPtr > GeometryPtrVector
vector of shared Geometry pointers
Definition: Geometry.h:48
Definition: Geometry.h:59
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
std::shared_ptr< URI > URIPtr
shared pointer implementation of prtx::URI
Definition: URI.h:37
std::shared_ptr< Geometry > GeometryPtr
shared Geometry pointer
Definition: DebugUtils.h:37
std::vector< MeshPtr > MeshPtrVector
vector of shared Mesh pointers
Definition: DataBackend.h:42
Definition: Geometry.h:97
std::shared_ptr< Mesh > MeshPtr
shared Mesh pointer
Definition: DataBackend.h:41
std::vector< int32_t > Int32Vector
vector of int32_t
Definition: Types.h:33
std::vector< std::wstring > WStringVector
vector of std::wstring
Definition: Types.h:35