HitItem.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/Base.h"
17 #include "CeeCore/Vec3d.h"
18 
19 namespace cee {
20 namespace geo {
21 
22 class Part;
23 
24 //==================================================================================================
25 //
26 //
27 //
28 //==================================================================================================
29 class CEE_GEO_EXPORT HitItem
30 {
31 public:
32  HitItem();
33  ~HitItem();
34 
35  const Part* part() const;
36  Part* part();
37  void setPart(Part* part);
38 
39  const Vec3d& intersectionPoint() const;
40  void setIntersectionPoint(const Vec3d& intersectionPoint);
41 
42  size_t itemIndex() const;
43  void setItemIndex(size_t index);
44 
45 private:
46  CEE_PRIVATE_IMPL(HitItem);
47  CEE_DISALLOW_COPY_AND_ASSIGN(HitItem);
48 };
49 
50 } // namespace geo
51 } // namespace cee
52 
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Small class containing the result of an intersection between a ray and a part in a GeometryModel...
Definition: HitItem.h:29
Vector class for a 3D double vector.
Definition: Vec3d.h:26
Geometry part and how it is to be drawn.
Definition: Part.h:32