VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
shape
shapeInfluenceRectangle.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1998 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
6
#ifndef SHAPEINFLUENCERECTANGLE_H
7
#define SHAPEINFLUENCERECTANGLE_H
8
9
#include "
shape/shapeDefines.h
"
10
#include <vlutil/vlList.h>
11
#include "
geometry/point.h
"
12
#include "
gdb/vtxMgr.h
"
13
14
class
DtShapeReader
;
15
class
DtGroup
;
16
class
DtVertexManager
;
17
18
// class DtShapeInfluenceRectangle
19
//
20
21
class
DT_DLL_shape
DtShapeInfluenceRectangle
22
{
23
24
public
:
25
26
// default constructor.
27
DtShapeInfluenceRectangle
();
28
29
DtShapeInfluenceRectangle
(
DtPoint
& p,
30
long
index,
31
DtPoint
& min,
32
DtPoint
& max,
33
bool
Border,
34
bool
corner,
35
bool
isReal =
true
);
36
37
DtShapeInfluenceRectangle
& operator=(
const
DtShapeInfluenceRectangle
& orig);
38
39
// destructor
40
virtual
~
DtShapeInfluenceRectangle
();
41
42
virtual
void
setPoint(
DtPoint
& p,
long
index);
43
virtual
DtPoint
&
point
();
44
virtual
long
index();
45
virtual
void
setMin(
DtPoint
& min);
46
virtual
DtPoint
& minPoint();
47
48
virtual
void
setMax(
DtPoint
& max);
49
virtual
DtPoint
& maxPoint();
50
51
virtual
void
setAsBorder(
bool
isBorder);
52
virtual
bool
isBorder();
53
54
virtual
bool
isProcessed();
55
56
virtual
void
setIsReal(
bool
isBorder);
57
virtual
bool
isReal();
58
59
virtual
void
setAsCorner(
bool
isCorner);
60
virtual
bool
isCorner();
61
62
virtual
bool
onTheXEdge(
double
val);
63
virtual
bool
onTheYEdge(
double
val);
64
virtual
bool
isAdjacent(
DtShapeInfluenceRectangle
* adjacent);
65
66
virtual
void
addAdjacent(
DtShapeInfluenceRectangle
* adjacent);
67
virtual
void
removeAdjacent(
DtShapeInfluenceRectangle
* adjacent);
68
69
virtual
DtList& adjacents();
70
71
virtual
bool
include(
DtPoint
& p);
72
73
virtual
bool
divideIfInclude(DtList& influenceRectanglesList,
74
DtPoint
& p,
75
long
index,
76
double
dist,
77
bool
isReal =
true
);
78
79
virtual
DtGroup
*
import
(
DtShapeReader
* db,
80
int
border);
81
82
virtual
DtGroup
* importBorder(
DtShapeReader
* db,
83
DtShapeInfluenceRectangle
*& ref,
84
double
thresholdForSeaLevel,
85
int
border);
86
87
virtual
bool
checkForNice(
DtPoint
&p);
88
89
// virtual void status();
90
91
static
void
setMinMax(
DtPoint
& p1,
DtPoint
& p2);
92
93
protected
:
94
95
virtual
void
reviewAdjacents(
DtShapeInfluenceRectangle
* theNew);
96
virtual
DtShapeInfluenceRectangle
* findNext();
97
98
DtVertexID
myIndex
;
99
DtVertexID
myAdditionalIndex[3];
100
101
DtList
myAdjacents
;
102
DtPoint
myPoint
;
103
DtPoint
myMin
;
104
DtPoint
myMax
;
105
bool
myIsBorder
;
106
bool
myIsCorner
;
107
bool
myBorderProcessed
;
108
bool
myProcessed
;
109
bool
myIsReal
;
110
int
myWho
;
111
112
static
int
who
;
113
static
double
myXMin
;
114
static
double
myXMax
;
115
static
double
myYMin
;
116
static
double
myYMax
;
117
};
118
119
#endif
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)