Ray.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Core
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 "CeeCore/Vec3d.h"
16 
17 namespace cvf { class Ray; }
18 
19 namespace cee {
20 
21 
22 //==================================================================================================
23 //
24 //
25 //
26 //==================================================================================================
27 class CEE_CORE_EXPORT Ray
28 {
29 public:
30  Ray();
31  Ray(const Ray& other);
32  ~Ray();
33 
34  Ray& operator=(const Ray& other);
35 
36  Vec3d origin() const;
37  void setOrigin(const Vec3d& orig);
38 
39  Vec3d direction() const;
40  void setDirection(const Vec3d& dir);
41 
42  double pointAndLineSizeInPixels() const;
43  void setPointAndLineSizeInPixels(double sizeInPixels);
44 
45 public:
46  cvf::Ray* internal_cvfRay();
47 
48 private:
49  CEE_PRIVATE_IMPL(Ray);
50 };
51 
52 } // namespace cee
Definition: LogEvent.h:19
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
A ray that can be used for intersection testing.
Definition: Ray.h:27
Vector class for a 3D double vector.
Definition: Vec3d.h:26