EffectFrontAndBackColor.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 "CeeGeometry/Effect.h"
17 #include "CeeCore/Color3f.h"
18 
19 namespace cee {
20 namespace geo {
21 
22 
23 //==================================================================================================
24 //
25 //
26 //
27 //==================================================================================================
28 class CEE_GEO_EXPORT EffectFrontAndBackColor : public Effect
29 {
30 public:
32  EffectFrontAndBackColor(const Color3f& frontColor, const Color3f& backColor);
33  virtual ~EffectFrontAndBackColor();
34 
35  virtual Type type() const;
36  virtual PtrRef<Effect> clone();
37 
38  const Color3f& frontColor() const;
39  const Color3f& backColor() const;
40  void setColor(const Color3f& frontColor, const Color3f& backColor);
41 
42  float ambientIntensity() const;
43  void setAmbientIntensity(float intensity);
44 
45  float specularIntensity() const;
46  void setSpecularIntensity(float intensity);
47 
48 private:
49  CEE_PRIVATE_IMPL(EffectFrontAndBackColor);
50  CEE_PRIVATE_F(GeometryModel);
51  CEE_PRIVATE_F(PartSettings);
52  CEE_PRIVATE_F(PartClassification);
53  CEE_DISALLOW_COPY_AND_ASSIGN(EffectFrontAndBackColor);
54 };
55 
56 } // namespace geo
57 } // namespace cee
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
Smart pointer class used for handling reference counted objects (that derive from Object)...
Definition: PtrRef.h:26
Effect describing the colors to be used when drawing each side of the associated triangle based part ...
Definition: EffectFrontAndBackColor.h:28
Class for storing an RGB color triplet.
Definition: Color3f.h:25
GeometryModel is a subclass of Model that can handle a large number of parts efficiently.
Definition: GeometryModel.h:36
Type
Enumerator for each of the available effect types.
Definition: Effect.h:32
Base class for an effect describing how to draw a part and it&#39;s associated part data.
Definition: Effect.h:28