Data.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Geometry
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2013, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeGeometry/Base.h"
16 #include "CeeCore/BoundingBox.h"
17 #include "CeeCore/RefCountedObject.h"
18 
19 namespace cee {
20 namespace geo {
21 
22 
23 //==================================================================================================
24 //
25 //
26 //
27 //==================================================================================================
28 class CEE_GEO_EXPORT Data : public RefCountedObject
29 {
30 public:
31 
33  enum Type
34  {
39  POINTS
40  };
41 
42 public:
43  virtual ~Data();
44 
45  virtual Type type() const = 0;
46  virtual cee::BoundingBox boundingBox() const = 0;
47 
48 protected:
49  Data();
50 
51 private:
52  CEE_PRIVATE_F(Part);
53  CEE_PRIVATE_F(GeometryModel);
54  CEE_PRIVATE_F(PartClassification);
55  CEE_DISALLOW_COPY_AND_ASSIGN(Data);
56 };
57 
58 } // namespace geo
59 } // namespace cee
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Base class for all geometry part data classes.
Definition: Data.h:28
Triangles organized as a strip.
Definition: Data.h:37
Indexed polylines.
Definition: Data.h:38
Triangles organized as a fan.
Definition: Data.h:36
Type
Enumerator for each of the available primitives.
Definition: Data.h:33
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Axis-aligned bounding box.
Definition: BoundingBox.h:27
Indexed triangles.
Definition: Data.h:35
GeometryModel is a subclass of Model that can handle a large number of parts efficiently.
Definition: GeometryModel.h:36
Geometry part and how it is to be drawn.
Definition: Part.h:32