PrimitiveShapeConstructor.h
Go to the documentation of this file.
1 #ifndef PRIMITIVESHAPECONSTRUCTOR_HEADER
2 #define PRIMITIVESHAPECONSTRUCTOR_HEADER
3 #include <stdio.h>
4 
5 #include <istream>
6 
7 #include "PointCloud.h"
8 #include "PrimitiveShape.h"
9 #include <MiscLib/RefCount.h>
10 #include <MiscLib/Vector.h>
11 
12 #ifndef DLL_LINKAGE
13 #define DLL_LINKAGE
14 #endif
15 
16 #ifdef WIN32
17 #ifndef DEPRECATED
18 #define DEPRECATED __declspec(deprecated)
19 #endif
20 #else
21 #define DEPRECATED
22 #endif
23 
25 {
26 public:
27  virtual size_t Identifier() const = 0;
28  virtual unsigned int RequiredSamples() const = 0;
29  virtual PrimitiveShape* Construct(const MiscLib::Vector<Vec3f>& points,
30  const MiscLib::Vector<Vec3f>& normals) const = 0;
31  virtual PrimitiveShape* Construct(const MiscLib::Vector<Vec3f>& samples) const = 0;
32  virtual PrimitiveShape* Deserialize(std::istream* i, bool binary = true) const = 0;
33  virtual size_t
34  SerializedSize() const = 0; // returns the serialized size excluding the identifier byte
35 };
36 
37 #endif
Vector.h
PrimitiveShape
PrimtiveShape is a shape primitive in conjunction with a parametrization.
Definition: PrimitiveShape.h:34
RefCount.h
MiscLib::Vector
Definition: Vector.h:19
PrimitiveShapeConstructor
Definition: PrimitiveShapeConstructor.h:24
MiscLib::RefCount
Definition: RefCount.h:9
PointCloud.h
DLL_LINKAGE
#define DLL_LINKAGE
Definition: basic.h:12
PrimitiveShape.h