VR-Link API Documentation for HLA 1.3
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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
#include <
matrix/vlVector.h
>
15
16
#include <iosfwd>
17
18
#ifdef DtUSE_UTILITIES_NAMESPACE
19
namespace
DtUSE_UTILITIES_NAMESPACE
20
{
21
#endif
22
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 Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)