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
|
Function: SetFromNode
Declaration: virtual void SetFromNode(DataNode *parentNode);
Definition:
// ****************************************************************************
// Method: MeshManagementAttributes::SetFromNode
//
// Purpose:
// This method sets attributes in this object from values in a DataNode
// representation of the object.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Dec 20 09:40:39 PDT 2007
//
// Modifications:
//
// Mark C. Miller, Thu Jan 10 14:55:56 PST 2008
// Made it backward compatible for older config files.
// ****************************************************************************
void
MeshManagementAttributes::SetFromNode(DataNode *parentNode)
{
if(parentNode == 0)
return;
DataNode *searchNode = parentNode->GetNode("MeshManagementAttributes");
if(searchNode == 0)
return;
DataNode *node;
if((node = searchNode->GetNode("discretizationTolerance")) != 0)
{
if (node->AsDoubleVector().size() == 3)
SetDiscretizationTolerance(node->AsDoubleVector());
else
{
MeshManagementAttributes tmp;
SetDiscretizationTolerance(tmp.GetDiscretizationTolerance());
}
}
if((node = searchNode->GetNode("discretizationToleranceX")) != 0)
SetDiscretizationToleranceX(node->AsDoubleVector());
if((node = searchNode->GetNode("discretizationToleranceY")) != 0)
SetDiscretizationToleranceY(node->AsDoubleVector());
if((node = searchNode->GetNode("discretizationToleranceZ")) != 0)
SetDiscretizationToleranceZ(node->AsDoubleVector());
if((node = searchNode->GetNode("discretizationMode")) != 0)
{
// Allow enums to be int or string in the config file
if(node->GetNodeType() == INT_NODE)
{
int ival = node->AsInt();
if(ival >= 0 && ival < 2)
SetDiscretizationMode(DiscretizationModes(ival));
}
else if(node->GetNodeType() == STRING_NODE)
{
DiscretizationModes value;
if(DiscretizationModes_FromString(node->AsString(), value))
SetDiscretizationMode(value);
}
}
if((node = searchNode->GetNode("discretizeBoundaryOnly")) != 0)
SetDiscretizeBoundaryOnly(node->AsBool());
if((node = searchNode->GetNode("passNativeCSG")) != 0)
SetPassNativeCSG(node->AsBool());
}
|