Panda3D
boundingLine.I
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file boundingLine.I
10  * @author drose
11  * @date 2000-07-04
12  */
13 
14 /**
15  *
16  */
17 INLINE_MATHUTIL BoundingLine::
18 BoundingLine() {
19 }
20 
21 /**
22  *
23  */
24 INLINE_MATHUTIL BoundingLine::
25 BoundingLine(const LPoint3 &a, const LPoint3 &b) :
26  _origin(a), _vector(b - a)
27 {
28  _vector.normalize();
29  _flags = 0;
30  nassertd(!_origin.is_nan() && !_vector.is_nan()) {
31  _flags = F_empty;
32  }
33 }
34 
35 /**
36  * Returns the first point that defines the line.
37  */
38 INLINE_MATHUTIL const LPoint3 &BoundingLine::
39 get_point_a() const {
40  nassertr(!is_empty(), _origin);
41  nassertr(!is_infinite(), _origin);
42  return _origin;
43 }
44 
45 /**
46  * Returns the second point that defines the line.
47  */
48 INLINE_MATHUTIL LPoint3 BoundingLine::
49 get_point_b() const {
50  nassertr(!is_empty(), _origin);
51  nassertr(!is_infinite(), _origin);
52  return _origin + _vector;
53 }
bool is_empty() const
Any kind of volume might be empty.
bool is_infinite() const
The other side of the empty coin is an infinite volume.
const LPoint3 & get_point_a() const
Returns the first point that defines the line.
Definition: boundingLine.I:39
LPoint3 get_point_b() const
Returns the second point that defines the line.
Definition: boundingLine.I:49