blob: 96cf04795b6998921c086d9871359c24420ebdbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
// File: TopOpeBRepDS_ShapeWithState.cxx
// Created: Mon Sep 20 11:54:00 1999
// Author: Peter KURNEV
// <pkv@kivox.nnov.matra-dtv.fr>
#include <TopOpeBRepDS_ShapeWithState.ixx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
//=======================================================================
//function : TopOpeBRepDS_ShapeWithState
//purpose :
//=======================================================================
TopOpeBRepDS_ShapeWithState::TopOpeBRepDS_ShapeWithState():
myState(TopAbs_UNKNOWN), myIsSplitted(Standard_False)
{}
//=======================================================================
//function : Part
//purpose :
//=======================================================================
const TopTools_ListOfShape& TopOpeBRepDS_ShapeWithState::Part (const TopAbs_State aState) const
{
static TopTools_ListOfShape myEmptyListOfShape ;
switch (aState)
{
case TopAbs_IN:
return myPartIn;
case TopAbs_OUT:
return myPartOut;
case TopAbs_ON:
return myPartOn;
default :
return myEmptyListOfShape;
}
}
//=======================================================================
//function : AddPart
//purpose :
//=======================================================================
void TopOpeBRepDS_ShapeWithState::AddPart (const TopoDS_Shape& aShape,
const TopAbs_State aState)
{
switch (aState)
{
case TopAbs_IN:
myPartIn.Append(aShape);
break;
case TopAbs_OUT:
myPartOut.Append(aShape);
break;
case TopAbs_ON:
myPartOn.Append(aShape);
break;
default :
break;
}
}
//=======================================================================
//function : AddParts
//purpose :
//=======================================================================
void TopOpeBRepDS_ShapeWithState::AddParts (const TopTools_ListOfShape& aListOfShape,
const TopAbs_State aState)
{
TopTools_ListIteratorOfListOfShape anIt(aListOfShape);
switch (aState)
{
case TopAbs_IN:
for (; anIt.More(); anIt.Next()) {
myPartIn.Append(anIt.Value());
}
break;
case TopAbs_OUT:
for (; anIt.More(); anIt.Next()) {
myPartOut.Append(anIt.Value());
}
break;
case TopAbs_ON:
for (; anIt.More(); anIt.Next()) {
myPartOn.Append(anIt.Value());
}
break;
default :
break;
}
}
//=======================================================================
//function : SetState
//purpose :
//=======================================================================
void TopOpeBRepDS_ShapeWithState::SetState(const TopAbs_State aState)
{
myState=aState;
}
//=======================================================================
//function : State
//purpose :
//=======================================================================
TopAbs_State TopOpeBRepDS_ShapeWithState::State() const
{
return myState;
}
//=======================================================================
//function : SetIsSplitted
//purpose :
//=======================================================================
void TopOpeBRepDS_ShapeWithState::SetIsSplitted(const Standard_Boolean aFlag)
{
myIsSplitted=aFlag;
}
//=======================================================================
//function : IsSplitted
//purpose :
//=======================================================================
Standard_Boolean TopOpeBRepDS_ShapeWithState::IsSplitted() const
{
return myIsSplitted;
}
|