VectorSettings.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: UnstructGrid
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2011, 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 "CeeUnstructGrid/Base.h"
16 
17 #include "CeeCore/RefCountedObject.h"
18 #include "CeeCore/Color3f.h"
19 
20 namespace cee {
21 namespace ug {
22 
23 
24 //==================================================================================================
25 //
26 //
27 //
28 //==================================================================================================
29 class CEE_UG_EXPORT VectorSettings : public RefCountedObject
30 {
31 public:
32  enum ColorMode
33  {
35  COLOR_BY_FRINGES
36  };
37 
38  enum ScaleMode
39  {
41  RELATIVE_SCALING
42  };
43 
44  enum DrawMode
45  {
47  SIMPLE
48  };
49 
51  {
54  REVERSE_SYMMETRIC_ARROW
55  };
56 
57 public:
58  virtual ~VectorSettings();
59 
60  ScaleMode scaleMode() const;
61  double scaleFactor() const;
62  void setScaleFactor(ScaleMode mode, double scaleFactor);
63 
64  bool resultInLocalCoordinates() const;
65  void setResultInLocalCoordinates(bool localCoordinates);
66 
67  ColorMode colorMode() const;
68  void setColorMode(ColorMode colorMode);
69  Color3f singleVectorColor() const;
70  void setSingleVectorColor(const Color3f& color);
71 
72  int simpleVectorLineWidth() const;
73  void setSimpleVectorLineWidth(int width);
74 
75  VectorType vectorType() const;
76  void setVectorType(VectorType vectorType);
77 
78  DrawMode drawMode() const;
79  void setDrawMode(DrawMode mode);
80 
81  double arrowShaftRelativeRadius() const;
82  void setArrowShaftRelativeRadius(double shaftRelativeRadius);
83  double arrowHeadRelativeRadius() const;
84  void setArrowHeadRelativeRadius(double headRelativeRadius);
85  double arrowHeadRelativeLength() const;
86  void setArrowHeadRelativeLength(double headRelativeLength);
87 
88  bool isClampingEnabled() const;
89  double clampingRangeMinimum() const;
90  double clampingRangeMaximum() const;
91  void setClampingRange(double min, double max);
92  void disableClamping();
93 
94  bool isLengthFilteringEnabled() const;
95  double lengthFilteringMinimum() const;
96  double lengthFilteringMaximum() const;
97  void setLengthFilteringRange(double min, double max);
98  void disableLengthFiltering();
99 
100  bool showInteriorVectors() const;
101  void setShowInteriorVectors(bool show);
102 
103  unsigned int drawSkipBy() const;
104  void setDrawSkipBy(unsigned int skipBy);
105 
106  size_t drawMaximumCount() const;
107  void setDrawMaximumCount(size_t maximumCount);
108 
109 private:
110  VectorSettings();
111  CEE_PRIVATE_F(UnstructGridModel);
112  CEE_PRIVATE_IMPL(VectorSettings);
113  CEE_DISALLOW_COPY_AND_ASSIGN(VectorSettings);
114 };
115 
116 } // namespace ug
117 } // namespace cee
118 
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
ScaleMode
List of vector scaling modes.
Definition: VectorSettings.h:38
Single vector color.
Definition: VectorSettings.h:34
3D primitive with shading
Definition: VectorSettings.h:46
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Class for storing an RGB color triplet.
Definition: Color3f.h:25
Absolute scaling of vectors.
Definition: VectorSettings.h:40
A standard vector arrow.
Definition: VectorSettings.h:52
DrawMode
List of vector draw modes.
Definition: VectorSettings.h:44
UnstructGridModel is a subclass of Model which adds specific model structure and functionality for re...
Definition: UnstructGridModel.h:72
VectorType
List of vector visualization types.
Definition: VectorSettings.h:50
Settings for a specific vector result.
Definition: VectorSettings.h:29
A vector centered in the node/vertex, with arrow heads pointing outwards in both directions.
Definition: VectorSettings.h:53
ColorMode
List of vector color modes.
Definition: VectorSettings.h:32