Effect.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/RefCountedObject.h"
17 #include "CeeCore/PtrRef.h"
18 
19 namespace cee {
20 namespace geo {
21 
22 
23 //==================================================================================================
24 //
25 //
26 //
27 //==================================================================================================
28 class CEE_GEO_EXPORT Effect : public RefCountedObject
29 {
30 public:
32  enum Type
33  {
41  HALO,
44  POINT_SIZE
45  };
46 
47 public:
48  virtual ~Effect();
49 
50  virtual Type type() const = 0;
51  virtual PtrRef<Effect> clone() = 0;
52 
53 protected:
54  Effect();
55 
56 private:
57  CEE_PRIVATE_F(GeometryModel);
58  CEE_PRIVATE_F(PartSettings);
59  CEE_PRIVATE_F(PartClassification);
60  CEE_PRIVATE_F(CvfPartPoints);
61  CEE_PRIVATE_F(CvfPartIndexedPolylines);
62  CEE_PRIVATE_F(CvfPartIndexedTriangles);
63 };
64 
65 } // namespace geo
66 } // namespace cee
67 
Part settings represents how to draw a part and it&#39;s associated part data.
Definition: PartSettings.h:29
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Effect describing if the part should be lighted or not
Definition: Effect.h:42
Effect that moves the vertices into the screen when drawing
Definition: Effect.h:40
Effect describing the texture to be used when drawing
Definition: Effect.h:38
Effect describing the colors to be used when drawing each side of a polygon
Definition: Effect.h:36
Smart pointer class used for handling reference counted objects (that derive from Object)...
Definition: PtrRef.h:26
Effect describing the color to be used when drawing
Definition: Effect.h:34
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Effect that moves the vertices towards the eye point when drawing
Definition: Effect.h:39
Effect describing how to draw a part with silhouetted edges
Definition: Effect.h:41
GeometryModel is a subclass of Model that can handle a large number of parts efficiently.
Definition: GeometryModel.h:36
Effect describing the width of the line, in pixels
Definition: Effect.h:43
Type
Enumerator for each of the available effect types.
Definition: Effect.h:32
Effect describing the opacity to be used when drawing
Definition: Effect.h:35
Base class for an effect describing how to draw a part and it&#39;s associated part data.
Definition: Effect.h:28
Effect describing the opacity to be used when drawing each side of a polygon
Definition: Effect.h:37