本文整理汇总了C++中TElement::GetField方法的典型用法代码示例。如果您正苦于以下问题:C++ TElement::GetField方法的具体用法?C++ TElement::GetField怎么用?C++ TElement::GetField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TElement
的用法示例。
在下文中一共展示了TElement::GetField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FindDOF
int Scheme::FindDOF(QString name, bool& isBase, bool &isExt)
{
if(Root.IsNull())
{
throw NoLabelInicialisationException("Scheme: label do not inicialised.");
}
// printf ("Scheme:10\n");
GetEqvList();
TIterator eqv = EqvList.GetIterator();
// printf ("Scheme:11\n");
int num = 1;
while (eqv.More())
{
bool isOK;
// printf ("Scheme:------12\n");
TElement el (eqv.Value());
TList B (el.GetField ("doflist", isOK));
TInteger isb (el.GetField ("isBase", isOK));
TInteger ise (el.GetField ("isExt", isOK));
// if (isOK) printf ("Scheme:13 OK OK OK\n");
TIterator dofit = B.GetIterator();
// printf ("Scheme:14\n");
while (dofit.More())
{
TString dof (dofit.Value());
if (name == dof.GetValue())
{
isBase = (isb.GetValue()!=0);
isExt = (ise.GetValue()!=0);
return num;
}
dofit.Next();
}
eqv.Next();
num++;
}
return -1;
}
示例2: AddEquivalence
void Scheme::AddEquivalence (DOF1 nnode1, DOF1 nnode2)
{
int num1, num2;
bool isb1, isb2, ise1, ise2;
QString node1, node2;
bool isbn1, isbn2, isen1, isen2;
bool isBase, isExt;
bool isOK;
GetEqvList();
node1 = nnode1.GetObjectName();
node2 = nnode2.GetObjectName();
// printf ("Scheme:1 %s, %s\n", node1.toAscii().data(), node2.toAscii().data());
isbn1 = nnode1.GetBase();
isbn2 = nnode2.GetBase();
isen1 = nnode1.GetExternal();
isen2 = nnode2.GetExternal();
// printf ("Scheme:1.1 isen1=%d isen2=%d\n", isen1, isen2);
isb1=ise1=isb2=ise2 = false;
num1 = FindDOF (node1, isb1, ise1);
// printf ("Scheme:1.2. num1=%d\n",num1);
num2 = FindDOF (node2, isb2, ise2);
// printf ("Scheme:1.3. num2=%d\n",num2);
isBase = isb1 || isb2 || isbn1 || isbn2;
isExt = ise1 || ise2 || isen1 || isen2;
// printf ("Scheme:2\n");
if (num1==-1 && num2 == -1)
{
TElement var (EqvList.Add());
// printf ("Scheme:3\n");
TList doflist;
var.AddElement(doflist);
doflist.SetName ("doflist");
// printf ("Scheme:4\n");
TString n1 (doflist.Add());
TString n2 (doflist.Add());
n1.SetValue (node1);
n2.SetValue (node2);
// printf ("Scheme:5\n");
TInteger base;
var.AddElement(base);
base.SetName ("isBase");
base.SetValue (isBase);
TInteger ext;
var.AddElement(ext);
ext.SetName ("isExt");
ext.SetValue (isExt);
}else
if (num1==-1)
{
TElement el (EqvList.GetAt(num2));
TList doflist (el.GetField ("doflist", isOK));
TInteger isb (el.GetField ("isBase", isOK));
TInteger ise (el.GetField ("isExt", isOK));
isb.SetValue (isBase);
ise.SetValue (isExt);
TString n1 (doflist.Add());
n1.SetValue (node1);
}else
if (num2==-1)
{
TElement el (EqvList.GetAt(num1));
TList doflist (el.GetField ("doflist", isOK));
TInteger isb (el.GetField ("isBase", isOK));
TInteger ise (el.GetField ("isExt", isOK));
isb.SetValue (isBase);
ise.SetValue (isExt);
TString n2 (doflist.Add());
n2.SetValue (node2);
}else
if (num1 != num2)
//.........这里部分代码省略.........