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{
26public:
27 virtual size_t Identifier() const = 0;
28 virtual unsigned int RequiredSamples() const = 0;
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
#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 PrimitiveShape * Construct(const MiscLib::Vector< Vec3f > &samples) const =0
virtual unsigned int RequiredSamples() const =0
PrimtiveShape is a shape primitive in conjunction with a parametrization.