VR-Link API Documentation for DIS
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
3dChord.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*******************************************************************************/
5
6
#ifndef _3dChord_H
7
#define _3dChord_H
8
9
#include <
vlutil/vlMachineTypes.h
>
10
#include "
3dPoint.h
"
11
#include "
3dExtent.h
"
12
16
17
#ifdef DtUSE_UTILITIES_NAMESPACE
18
namespace
DtUSE_UTILITIES_NAMESPACE
19
{
20
#endif
21
32
class
DT_DLL_MATRIX
Dt3dChord
33
{
34
public
:
36
Dt3dChord
();
37
39
Dt3dChord
(
const
Dt3dPoint
& endpoint0,
const
Dt3dPoint
& endpoint1);
40
42
~
Dt3dChord
();
43
45
Dt3dChord
(
const
Dt3dChord
& orig);
46
48
Dt3dChord
& operator=(
const
Dt3dChord
& orig);
49
51
52
53
const
Dt3dPoint
& endpoint0()
const
;
54
56
const
Dt3dPoint
& endpoint1()
const
;
57
59
double
directedXComponent()
const
;
60
62
double
directedYComponent()
const
;
63
65
double
directedZComponent()
const
;
66
68
const
Dt3dExtent
& extent()
const
;
70
73
Dt3dPoint
computePoint(
const
double
t)
const
;
74
76
bool
isCollinear(
const
Dt3dPoint
& p)
const
;
77
79
bool
parallelToXYPlane()
const
;
80
82
bool
inPlaneZEquals(
const
double
c)
const
;
83
87
bool
intersectsPlaneZEqualsAtPoint(
const
double
c,
88
double
& tvalue)
const
;
89
92
bool
collinearPointLiesWithin(
const
Dt3dPoint
& pt)
const
;
93
94
protected
:
95
97
double
minZ()
const
;
98
100
double
maxZ()
const
;
101
106
void
guaranteeValidConstruction();
107
108
protected
:
109
Dt3dPoint
myEndpoint0
;
110
Dt3dPoint
myEndpoint1
;
111
113
114
double
myDirectedXComponent
;
115
double
myDirectedYComponent
;
116
double
myDirectedZComponent
;
117
118
Dt3dExtent
myExtent
;
120
};
121
122
123
inline
const
Dt3dExtent
&
Dt3dChord::extent
()
const
124
{
125
return
myExtent;
126
}
127
128
inline
const
Dt3dPoint
&
Dt3dChord::endpoint0
()
const
129
{
130
return
myEndpoint0;
131
}
132
133
inline
const
Dt3dPoint
&
Dt3dChord::endpoint1
()
const
134
{
135
return
myEndpoint1;
136
}
137
138
inline
double
Dt3dChord::directedXComponent
()
const
139
{
140
return
myDirectedXComponent;
141
}
142
143
inline
double
Dt3dChord::directedYComponent
()
const
144
{
145
return
myDirectedYComponent;
146
}
147
148
inline
double
Dt3dChord::directedZComponent
()
const
149
{
150
return
myDirectedZComponent;
151
}
152
153
DT_DLL_MATRIX
std::ostream&
operator<<
(std::ostream& os,
const
Dt3dChord
& chord);
154
155
#ifdef DtUSE_UTILITIES_NAMESPACE
156
}
157
#endif
158
159
#endif
160
Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (
www.mak.com
)