Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
IceSegment.h
Go to the documentation of this file.
1
8
11
// Include Guard
12
#ifndef __ICESEGMENT_H__
13
#define __ICESEGMENT_H__
14
15
class
ICEMATHS_API
Segment
16
{
17
public
:
19
inline_
Segment
() {}
21
inline_
Segment
(
const
Point
& p0,
const
Point
& p1) : mP0(p0), mP1(p1) {}
23
inline_
Segment
(
const
Segment
& seg) : mP0(seg.mP0), mP1(seg.mP1) {}
25
inline_
~Segment
() {}
26
27
inline_
const
Point
&
GetOrigin
()
const
{
return
mP0; }
28
inline_
Point
ComputeDirection
()
const
{
return
mP1 - mP0; }
29
inline_
void
ComputeDirection
(
Point
& dir)
const
{ dir = mP1 - mP0; }
30
inline_
float
ComputeLength
()
const
{
return
mP1.Distance(mP0); }
31
inline_
float
ComputeSquareLength
()
const
{
return
mP1.SquareDistance(mP0); }
32
33
inline_
void
SetOriginDirection
(
const
Point
& origin,
const
Point
& direction)
34
{
35
mP0 = mP1 = origin;
36
mP1 += direction;
37
}
38
40
45
inline_
void
ComputePoint(
Point
& pt,
float
t)
const
{ pt = mP0 + t * (mP1 - mP0); }
47
48
float
SquareDistance(
const
Point
& point,
float
* t=
null
)
const
;
49
inline_
float
Distance
(
const
Point
& point,
float
* t=
null
)
const
{
return
sqrtf(SquareDistance(point, t)); }
50
51
Point
mP0
;
52
Point
mP1
;
53
};
54
55
#endif // __ICESEGMENT_H__
src
cmd
collide2
Ice
IceSegment.h
Generated on Fri May 29 2015 23:07:12 for Vegastrike 0.5.1 rc1 by
1.8.4