SpherePrimitiveShapeConstructor.h
Go to the documentation of this file.
1#ifndef SPHEREPRIMITIVESHAPECONSTRUCTOR_HEADER
2#define SPHEREPRIMITIVESHAPECONSTRUCTOR_HEADER
3#include <limits>
4
6
7#ifndef DLL_LINKAGE
8#define DLL_LINKAGE
9#endif
10
12{
13public:
14 SpherePrimitiveShapeConstructor(float maxSphereRadius = std::numeric_limits<float>::infinity());
15 size_t Identifier() const;
16 unsigned int RequiredSamples() const;
18 const MiscLib::Vector<Vec3f>& normals) const;
19 PrimitiveShape* Construct(const MiscLib::Vector<Vec3f>& samples) const;
20 PrimitiveShape* Deserialize(std::istream* i, bool binary = true) const;
21 size_t SerializedSize() const;
22
23private:
24 float m_maxSphereRadius;
25};
26
27#endif
#define DLL_LINKAGE
Definition basic.h:12
virtual size_t SerializedSize() const =0
virtual size_t Identifier() const =0
virtual PrimitiveShape * Construct(const MiscLib::Vector< Vec3f > &points, const MiscLib::Vector< Vec3f > &normals) const =0
virtual PrimitiveShape * Deserialize(std::istream *i, bool binary=true) const =0
virtual unsigned int RequiredSamples() const =0
PrimtiveShape is a shape primitive in conjunction with a parametrization.
SpherePrimitiveShapeConstructor(float maxSphereRadius=std::numeric_limits< float >::infinity())