VR-Link API Documentation for HLA 1.3
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
matrix
3dPoint.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*******************************************************************************/
5
6
#ifndef Dt3dPoint_H
7
#define Dt3dPoint_H
8
12
13
#include <
vlutil/vlMachineTypes.h
>
14
15
#include <iosfwd>
16
17
#ifdef DtUSE_UTILITIES_NAMESPACE
18
namespace
DtUSE_UTILITIES_NAMESPACE
19
{
20
#endif
21
22
class
DtVector
;
23
class
Dt4dPoint
;
24
25
28
class
Dt3dPoint
;
29
typedef
Dt3dPoint
Dt3dVertex
;
30
42
43
class
DT_DLL_MATRIX
Dt3dPoint
44
{
45
public
:
46
48
inline
Dt3dPoint
();
49
51
inline
Dt3dPoint
(
const
double
& x,
const
double
& y,
const
double
& z);
52
54
inline
Dt3dPoint
(
const
Dt3dPoint
& orig);
55
57
inline
~
Dt3dPoint
();
58
59
Dt3dPoint
& operator=(
const
Dt3dPoint
& rhs);
60
62
63
const
double
& operator[](
const
int
index)
const
;
64
double
& operator[](
const
int
index);
66
67
inline
bool
operator==
(
const
Dt3dPoint
& rhs)
const
;
68
inline
bool
operator!=
(
const
Dt3dPoint
& rhs)
const
;
69
71
72
inline
Dt3dPoint
operator*
(
const
double
& rhs)
const
;
73
inline
Dt3dPoint
& operator*=(
const
double
& rhs);
75
77
78
79
80
inline
Dt3dPoint
operator/
(
const
double
& rhs)
const
;
81
inline
Dt3dPoint
& operator/=(
const
double
& rhs);
83
84
inline
Dt3dPoint
operator+
(
const
DtVector
& rhs)
const
;
85
inline
Dt3dPoint
& operator+=(
const
DtVector
& rhs);
86
87
inline
DtVector
operator-
(
const
Dt3dPoint
& rhs)
const
;
88
inline
Dt3dPoint
operator-
(
const
DtVector
& rhs)
const
;
89
inline
Dt3dPoint
& operator-=(
const
DtVector
& rhs);
90
92
Dt3dPoint
differenceAs3dPoint(
const
Dt3dPoint
& rhs)
const
;
93
95
DtVector
difference(
const
Dt3dPoint
& rhs)
const
;
96
99
bool
approxEq(
const
Dt3dPoint
& p,
const
double
& tolerance)
const
;
100
102
inline
const
double
& x()
const
;
103
105
inline
const
double
& y()
const
;
106
108
inline
const
double
& z()
const
;
109
110
inline
void
set
(
const
double
& x,
const
double
& y,
const
double
& z);
111
113
inline
void
setX(
const
double
& x);
114
116
inline
void
setY(
const
double
& y);
117
119
inline
void
setZ(
const
double
& z);
120
121
inline
void
setFromVector(
const
DtVector
& vector );
122
124
inline
void
setFrom4dPoint(
const
Dt4dPoint
& point );
125
127
double
distanceTo(
const
Dt3dPoint
& end)
const
;
128
130
double
distanceSquaredTo(
const
Dt3dPoint
& end)
const
;
131
133
double
xyDistanceTo(
const
Dt3dPoint
& end)
const
;
134
136
double
xyDistanceSquaredTo(
const
Dt3dPoint
& end)
const
;
137
139
double
xyDistanceToLine(
const
Dt3dPoint
& pointA,
const
Dt3dPoint
& pointB)
const
;
142
double
xyDistanceToLineSquared(
const
Dt3dPoint
& pointA,
const
Dt3dPoint
& pointB)
const
;
143
145
double
magnitudeSquared()
const
;
146
150
void
normalize();
151
154
Dt3dPoint
(
const
DtVector
& orig);
155
158
Dt3dPoint
& operator=(
const
DtVector
& rhs);
159
162
Dt3dPoint
operator+
(
const
Dt3dPoint
& rhs)
const
;
163
166
Dt3dPoint
& operator+=(
const
Dt3dPoint
& rhs);
167
170
Dt3dPoint
& operator-=(
const
Dt3dPoint
& rhs);
171
172
173
protected
:
174
175
//no not change the order of this classes data memebers
176
//VR-Forces depends on the current ordering.
177
double
myX
;
178
double
myY
;
179
double
myZ
;
180
};
181
182
183
DT_DLL_MATRIX
std::ostream&
operator<<
(std::ostream& os,
const
Dt3dPoint
& point);
184
DT_DLL_MATRIX
std::istream&
operator>>
(std::istream& is,
Dt3dPoint
& point);
185
186
#ifdef DtUSE_UTILITIES_NAMESPACE
187
}
188
#endif
189
190
#define _3dPoint_inl
191
#include "3dPoint.inl"
192
#undef _3dPoint_inl
193
194
195
#endif
196
Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)