PrimitiveShapeConstructor.h
Go to the documentation of this file.
1 #ifndef PRIMITIVESHAPECONSTRUCTOR_HEADER
2 #define PRIMITIVESHAPECONSTRUCTOR_HEADER
3 #include "PrimitiveShape.h"
4 #include "PointCloud.h"
5 #include <MiscLib/RefCount.h>
6 #include <MiscLib/Vector.h>
7 #include <istream>
8 #include <stdio.h>
9 
10 #ifndef DLL_LINKAGE
11 #define DLL_LINKAGE
12 #endif
13 
14 #ifdef WIN32
15 #ifndef DEPRECATED
16 #define DEPRECATED __declspec(deprecated)
17 #endif
18 #else
19 #define DEPRECATED
20 #endif
21 
23  : public MiscLib::RefCount
24 {
25 public:
26  virtual size_t Identifier() const = 0;
27  virtual unsigned int RequiredSamples() const = 0;
28  virtual PrimitiveShape* Construct(const MiscLib::Vector< Vec3f >& points,
29  const MiscLib::Vector< Vec3f >& normals) const = 0;
30  virtual PrimitiveShape* Construct(
31  const MiscLib::Vector< Vec3f >& samples) const = 0;
32  virtual PrimitiveShape* Deserialize(std::istream* i,
33  bool binary = true) const = 0;
34  virtual size_t 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:32
RefCount.h
MiscLib::Vector
Definition: Vector.h:19
PrimitiveShapeConstructor
Definition: PrimitiveShapeConstructor.h:22
MiscLib::RefCount
Definition: RefCount.h:9
PointCloud.h
DLL_LINKAGE
#define DLL_LINKAGE
Definition: basic.h:11
PrimitiveShape.h