DataNodeSetGenerator.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: UnstructGrid
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2016, 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 #include "CeeUnstructGrid/UnstructGridModel.h"
17 #include "CeeUnstructGrid/DataNodeSet.h"
18 
19 #include "CeeVisualization/View.h"
20 #include "CeeCore/Plane.h"
21 #include "CeeCore/Vec2f.h"
22 
23 namespace cee {
24 namespace ug {
25 
26 //==================================================================================================
27 //
28 //
29 //
30 //==================================================================================================
31 class CEE_UG_EXPORT DataNodeSetGenerator
32 {
33 public:
37  {
38  FRONT = 0x01,
39  ON = 0x02,
40  BACK = 0x04
41  };
42 
43  typedef int NodePositionCriteria;
44 
45 public:
46  DataNodeSetGenerator(const UnstructGridModel& model, size_t frameIndex);
48 
49  PtrRef<DataNodeSet> createFromRegion(int setId, int x, int y, unsigned int width, unsigned int height, const vis::View& view);
50  PtrRef<DataNodeSet> createFromPolygon(int setId, const std::vector<Vec2f>& polygonInWindowCoordinates, const vis::View& view);
51  PtrRef<DataNodeSet> createFromPlane(int setId, const Plane& plane, NodePositionCriteria criteria);
52  PtrRef<DataNodeSet> createAllNodes(int setId);
53 
54 private:
55  CEE_PRIVATE_IMPL(DataNodeSetGenerator);
56  CEE_DISALLOW_COPY_AND_ASSIGN(DataNodeSetGenerator);
57 };
58 
59 } // namespace ug
60 } // namespace cee
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
int NodePositionCriteria
Bit-mask made up of NodePositionCriterion which specifies which nodes will be accepted based on the c...
Definition: DataNodeSetGenerator.h:43
Class defining a plane in space.
Definition: Plane.h:27
This class is used to generate DataNodeSet&#39;s from the current DataSource of an UnstructGridModel.
Definition: DataNodeSetGenerator.h:31
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40
UnstructGridModel is a subclass of Model which adds specific model structure and functionality for re...
Definition: UnstructGridModel.h:72
NodePositionCriterion
Bit-mask used to specify which nodes to include with regards to the plane. These values are then comb...
Definition: DataNodeSetGenerator.h:36