Clipping.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2014, 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 "CeeVisualization/Base.h"
16 #include "CeeCore/RefCountedObject.h"
17 #include "CeeCore/Plane.h"
18 
19 namespace cee {
20 class Ray;
21 
22 namespace vis {
23 
24 
25 //==================================================================================================
26 //
27 //
28 //
29 //==================================================================================================
30 class CEE_VIS_EXPORT Clipping : public RefCountedObject
31 {
32 public:
33  virtual ~Clipping();
34 
35  size_t planeCount() const;
36  const Plane& plane(size_t index) const;
37  void addPlane(const Plane& plane);
38  void setPlane(size_t index, const Plane& plane);
39  void removePlane(size_t index);
40  void removeAllPlanes();
41 
42  bool mustBeBehindAllPlanesToClip() const;
43  void setMustBeBehindAllPlanesToClip(bool mustBeBehindAllToClip);
44 
45  void setupRayDistancesFilters(Ray* ray) const;
46 
47 private:
48  Clipping();
49  CEE_PRIVATE_F(View);
50  CEE_PRIVATE_IMPL(Clipping);
51  CEE_DISALLOW_COPY_AND_ASSIGN(Clipping);
52 };
53 
54 } // namespace vis
55 } // namespace cee
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Clipping planes are used to clip parts of the geometry in the scene to be able to look inside...
Definition: Clipping.h:30
A ray that can be used for intersection testing.
Definition: Ray.h:27
Class defining a plane in space.
Definition: Plane.h:27
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40