0024509: Suspect unused variable in TPrsStd_ConstraintTools.cxx
[occt.git] / src / Dynamic / Dynamic_FuzzyInstance.gxx
CommitLineData
b311480e 1// Created on: 1993-12-24
2// Created by: Gilles DEBARBOUILLE
3// Copyright (c) 1993-1999 Matra Datavision
973c2be1 4// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5//
973c2be1 6// This file is part of Open CASCADE Technology software library.
b311480e 7//
d5f74e42 8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
b311480e 13//
973c2be1 14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
b311480e 16
7fd59977 17// CRD : 15/04/97 : Passage WOK++ : Remplacement de TYPE par STANDARD_TYPE
18
19
20#include <Dynamic_FuzzyDefinition.hxx>
21#include <Dynamic_SequenceOfFuzzyDefinitions.hxx>
22#include <Dynamic_Parameter.hxx>
23#include <Dynamic_ParameterNode.hxx>
24#include <Dynamic_BooleanParameter.hxx>
25#include <Dynamic_IntegerParameter.hxx>
26#include <Dynamic_RealParameter.hxx>
27#include <Dynamic_StringParameter.hxx>
28#include <Dynamic_ObjectParameter.hxx>
29
30void DictionaryOfDefinitions(Handle(Dictionary)&);
31
32//=======================================================================
33//function : Dynamic_FuzzyInstance
34//purpose :
35//=======================================================================
36
37Dynamic_FuzzyInstance::Dynamic_FuzzyInstance(const Standard_CString atype)
38{
39 Handle(Dictionary) dictionary;
40 DictionaryOfDefinitions(dictionary);
41
42 if(dictionary->Definition(atype,thedefinition)) return;
43 else cout<<atype<<" n'existe pas dans le dictionnaire."<<endl;
44}
45
46//=======================================================================
47//function : Dynamic_FuzzyInstance
48//purpose :
49//=======================================================================
50
51Dynamic_FuzzyInstance::Dynamic_FuzzyInstance(const Handle(Dynamic_FuzzyInstance)& afuzzyinstance)
52{
53 thedefinition = afuzzyinstance;
54}
55
56//=======================================================================
57//function : Type
58//purpose :
59//=======================================================================
60
61TCollection_AsciiString Dynamic_FuzzyInstance::Type() const
62{
63 return Definition()->Type();
64}
65
66//=======================================================================
67//function : Definition
68//purpose :
69//=======================================================================
70
71Handle(Dynamic_FuzzyClass) Dynamic_FuzzyInstance::Definition() const
72{
73 Handle(Dynamic_FuzzyInstance) definition;
74
75 if(thedefinition->IsKind(STANDARD_TYPE(Dynamic_FuzzyDefinition)))
76 {
77 return thedefinition;
78 }
79 else
80 {
857ffd5e 81 definition = *(Handle(Dynamic_FuzzyInstance)*)&thedefinition;
7fd59977 82 return definition->Definition();
83 }
84}
85
86//=======================================================================
87//function : Parameter
88//purpose :
89//=======================================================================
90
91void Dynamic_FuzzyInstance::Parameter(const Standard_CString aparameter,
92 const Standard_Boolean avalue)
93{
94 if(Definition()->Parameter(aparameter))
95 Dynamic_FuzzyClass::Parameter(aparameter,avalue);
96 //else
97 // cout<<"Pas de parametre du nom de : "<< aparameter<<endl;
98}
99
100//=======================================================================
101//function : Parameter
102//purpose :
103//=======================================================================
104
105void Dynamic_FuzzyInstance::Parameter(const Standard_CString aparameter,
106 const Standard_Integer avalue)
107{
108 if(Definition()->Parameter(aparameter))
109 Dynamic_FuzzyClass::Parameter(aparameter,avalue);
110 //else
111 // cout<<"Pas de parametre du nom de : "<< aparameter<<endl;
112}
113
114//=======================================================================
115//function : Parameter
116//purpose :
117//=======================================================================
118
119void Dynamic_FuzzyInstance::Parameter(const Standard_CString aparameter,
120 const Standard_Real avalue)
121{
122 if(Definition()->Parameter(aparameter))
123 Dynamic_FuzzyClass::Parameter(aparameter,avalue);
124 //else
125 //cout<<"Pas de parametre du nom de : "<< aparameter<<endl;
126}
127
128//=======================================================================
129//function : Parameter
130//purpose :
131//=======================================================================
132
133void Dynamic_FuzzyInstance::Parameter(const Standard_CString aparameter,
134 const Standard_CString astring)
135{
136 if(Definition()->Parameter(aparameter))
137 Dynamic_FuzzyClass::Parameter(aparameter,astring);
138 //else
139 // cout<<"Pas de parametre du nom de : "<< aparameter<<endl;
140}
141
142//=======================================================================
143//function : Parameter
144//purpose :
145//=======================================================================
146
147void Dynamic_FuzzyInstance::Parameter(const Standard_CString aparameter,
148 const Handle(Standard_Transient)& anobject)
149{
150 if(Definition()->Parameter(aparameter))
151 Dynamic_FuzzyClass::Parameter(aparameter,anobject);
152 //else
153 //cout<<"Pas de parametre du nom de : "<< aparameter<<endl;
154}
155
156//=======================================================================
157//function : Value
158//purpose :
159//=======================================================================
160
161Standard_Boolean Dynamic_FuzzyInstance::Value(const Standard_CString aparameter,
162 Standard_Boolean& avalue) const
163{
164 if(Dynamic_FuzzyClass::Value(aparameter,avalue))
165 return Standard_True;
166 else
167 return thedefinition->Value(aparameter,avalue);
168}
169
170//=======================================================================
171//function : Value
172//purpose :
173//=======================================================================
174
175Standard_Boolean Dynamic_FuzzyInstance::Value(const Standard_CString aparameter,
176 Standard_Integer& avalue) const
177{
178 if(Dynamic_FuzzyClass::Value(aparameter,avalue))
179 return Standard_True;
180 else
181 return thedefinition->Value(aparameter,avalue);
182}
183
184//=======================================================================
185//function : Value
186//purpose :
187//=======================================================================
188
189Standard_Boolean Dynamic_FuzzyInstance::Value(const Standard_CString aparameter,
190 Standard_Real& avalue) const
191{
192 if(Dynamic_FuzzyClass::Value(aparameter,avalue))
193 return Standard_True;
194 else
195 return thedefinition->Value(aparameter,avalue);
196}
197
198//=======================================================================
199//function : Value
200//purpose :
201//=======================================================================
202
203Standard_Boolean Dynamic_FuzzyInstance::Value(const Standard_CString aparameter,
204 TCollection_AsciiString& avalue) const
205{
206 if(Dynamic_FuzzyClass::Value(aparameter,avalue))
207 return Standard_True;
208 else
209 return thedefinition->Value(aparameter,avalue);
210}
211
212//=======================================================================
213//function : Value
214//purpose :
215//=======================================================================
216
217Standard_Boolean Dynamic_FuzzyInstance::Value(const Standard_CString aparameter,
218 Handle(Standard_Transient)& anobject) const
219{
220 if(Dynamic_FuzzyClass::Value(aparameter,anobject))
221 return Standard_True;
222 else
223 return thedefinition->Value(aparameter,anobject);
224}
225
226//=======================================================================
227//function : Dump
228//purpose :
229//=======================================================================
230
231void Dynamic_FuzzyInstance::Dump(Standard_OStream& astream) const
232{
233 Handle(Dynamic_ParameterNode) parameternode = FirstParameter();
234 while(!parameternode.IsNull())
235 {
236 astream<<" ";
237 parameternode->Object()->Dump(astream);
238 astream<<"\n";
239 parameternode = parameternode->Next();
240 }
241}