File: clippingPlane.C

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (73 lines) | stat: -rw-r--r-- 1,364 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//


#include <BALL/VIEW/KERNEL/clippingPlane.h>

namespace BALL
{
	namespace VIEW
	{
		ColorRGBA ClippingPlane::capping_color_ = ColorRGBA(0, 0, 1.0, 1.0);

		ClippingPlane::ClippingPlane()
				: normal_(Vector3(1.)),
					point_(),
					active_(false),
					hidden_(false),
					cap_(false)
		{
		}

					
		ClippingPlane::ClippingPlane(const ClippingPlane& rp)
				: normal_(rp.normal_),
					point_(rp.point_),
					active_(rp.active_),
					hidden_(rp.hidden_),
					cap_(rp.cap_)
		{
			reps_ = rp.reps_;
		}


		const ClippingPlane& ClippingPlane::operator = (const ClippingPlane& plane)
		{
			reps_   = plane.reps_;
			normal_ = plane.normal_;
			active_ = plane.active_;
			point_  = plane.point_;
			hidden_ = plane.hidden_;
			cap_    = plane.cap_;
			return *this;
		}


		ClippingPlane::~ClippingPlane()
		{
			clear();
		}

		void ClippingPlane::clear()
		{
			reps_.clear();
		}

		float ClippingPlane::getDistance() const
		{
			return normal_ * (- point_);
		}

		bool ClippingPlane::operator == (const ClippingPlane& plane) const
		{
			return reps_   == plane.reps_   &&
				     normal_ == plane.normal_ &&
						 point_  == plane.point_  &&
						 active_ == plane.active_ &&
						 hidden_ == plane.hidden_ &&
						 cap_    == plane.cap_;
		}
		
	} // namespace VIEW
} // namespace BALL