void MessageAttributes::SetFromNode(DataNode *parentNode) { if(parentNode == 0) return; DataNode *searchNode = parentNode->GetNode("MessageAttributes"); if(searchNode == 0) return; DataNode *node; if((node = searchNode->GetNode("text")) != 0) SetText(node->AsString()); if((node = searchNode->GetNode("unicode")) != 0) SetUnicode(node->AsUnsignedCharVector()); if((node = searchNode->GetNode("hasUnicode")) != 0) SetHasUnicode(node->AsBool()); if((node = searchNode->GetNode("severity")) != 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 < 5) SetSeverity(Severity(ival)); } else if(node->GetNodeType() == STRING_NODE) { Severity value; if(Severity_FromString(node->AsString(), value)) SetSeverity(value); } } }
void MultiCurveAttributes::SetFromNode(DataNode *parentNode) { if(parentNode == 0) return; DataNode *searchNode = parentNode->GetNode("MultiCurveAttributes"); if(searchNode == 0) return; DataNode *node; if((node = searchNode->GetNode("defaultPalette")) != 0) defaultPalette.SetFromNode(node); if((node = searchNode->GetNode("changedColors")) != 0) SetChangedColors(node->AsUnsignedCharVector()); if((node = searchNode->GetNode("colorType")) != 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) SetColorType(ColoringMethod(ival)); } else if(node->GetNodeType() == STRING_NODE) { ColoringMethod value; if(ColoringMethod_FromString(node->AsString(), value)) SetColorType(value); } } if((node = searchNode->GetNode("singleColor")) != 0) singleColor.SetFromNode(node); if((node = searchNode->GetNode("multiColor")) != 0) multiColor.SetFromNode(node); if((node = searchNode->GetNode("lineStyle")) != 0) SetLineStyle(node->AsInt()); if((node = searchNode->GetNode("lineWidth")) != 0) SetLineWidth(node->AsInt()); if((node = searchNode->GetNode("yAxisTitleFormat")) != 0) SetYAxisTitleFormat(node->AsString()); if((node = searchNode->GetNode("useYAxisTickSpacing")) != 0) SetUseYAxisTickSpacing(node->AsBool()); if((node = searchNode->GetNode("yAxisTickSpacing")) != 0) SetYAxisTickSpacing(node->AsDouble()); if((node = searchNode->GetNode("displayMarkers")) != 0) SetDisplayMarkers(node->AsBool()); if((node = searchNode->GetNode("markerVariable")) != 0) SetMarkerVariable(node->AsString()); if((node = searchNode->GetNode("displayIds")) != 0) SetDisplayIds(node->AsBool()); if((node = searchNode->GetNode("idVariable")) != 0) SetIdVariable(node->AsString()); if((node = searchNode->GetNode("legendFlag")) != 0) SetLegendFlag(node->AsBool()); }
void SILRestrictionAttributes::SetFromNode(DataNode *parentNode) { if(parentNode == 0) return; DataNode *searchNode = parentNode->GetNode("SILRestrictionAttributes"); if(searchNode == 0) return; DataNode *node; if((node = searchNode->GetNode("useSet")) != 0) SetUseSet(node->AsUnsignedCharVector()); if((node = searchNode->GetNode("topSet")) != 0) SetTopSet(node->AsInt()); if((node = searchNode->GetNode("silAtts")) != 0) silAtts.SetFromNode(node); }
void ConstructDataBinningAttributes::SetFromNode(DataNode *parentNode) { if(parentNode == 0) return; DataNode *searchNode = parentNode->GetNode("ConstructDataBinningAttributes"); if(searchNode == 0) return; DataNode *node; if((node = searchNode->GetNode("name")) != 0) SetName(node->AsString()); if((node = searchNode->GetNode("varnames")) != 0) SetVarnames(node->AsStringVector()); if((node = searchNode->GetNode("binType")) != 0) SetBinType(node->AsUnsignedCharVector()); if((node = searchNode->GetNode("binBoundaries")) != 0) SetBinBoundaries(node->AsDoubleVector()); if((node = searchNode->GetNode("reductionOperator")) != 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 < 9) SetReductionOperator(ReductionOperator(ival)); } else if(node->GetNodeType() == STRING_NODE) { ReductionOperator value; if(ReductionOperator_FromString(node->AsString(), value)) SetReductionOperator(value); } } if((node = searchNode->GetNode("varForReductionOperator")) != 0) SetVarForReductionOperator(node->AsString()); if((node = searchNode->GetNode("undefinedValue")) != 0) SetUndefinedValue(node->AsDouble()); if((node = searchNode->GetNode("binningScheme")) != 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) SetBinningScheme(BinningScheme(ival)); } else if(node->GetNodeType() == STRING_NODE) { BinningScheme value; if(BinningScheme_FromString(node->AsString(), value)) SetBinningScheme(value); } } if((node = searchNode->GetNode("numBins")) != 0) SetNumBins(node->AsIntVector()); if((node = searchNode->GetNode("overTime")) != 0) SetOverTime(node->AsBool()); if((node = searchNode->GetNode("timeStart")) != 0) SetTimeStart(node->AsInt()); if((node = searchNode->GetNode("timeEnd")) != 0) SetTimeEnd(node->AsInt()); if((node = searchNode->GetNode("timeStride")) != 0) SetTimeStride(node->AsInt()); if((node = searchNode->GetNode("outOfBoundsBehavior")) != 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) SetOutOfBoundsBehavior(OutOfBoundsBehavior(ival)); } else if(node->GetNodeType() == STRING_NODE) { OutOfBoundsBehavior value; if(OutOfBoundsBehavior_FromString(node->AsString(), value)) SetOutOfBoundsBehavior(value); } } }
void WellBoreAttributes::SetFromNode(DataNode *parentNode) { if(parentNode == 0) return; DataNode *searchNode = parentNode->GetNode("WellBoreAttributes"); if(searchNode == 0) return; DataNode *node; if((node = searchNode->GetNode("defaultPalette")) != 0) defaultPalette.SetFromNode(node); if((node = searchNode->GetNode("changedColors")) != 0) SetChangedColors(node->AsUnsignedCharVector()); if((node = searchNode->GetNode("colorType")) != 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 < 3) SetColorType(ColoringMethod(ival)); } else if(node->GetNodeType() == STRING_NODE) { ColoringMethod value; if(ColoringMethod_FromString(node->AsString(), value)) SetColorType(value); } } if((node = searchNode->GetNode("colorTableName")) != 0) SetColorTableName(node->AsString()); if((node = searchNode->GetNode("invertColorTable")) != 0) SetInvertColorTable(node->AsBool()); if((node = searchNode->GetNode("singleColor")) != 0) singleColor.SetFromNode(node); if((node = searchNode->GetNode("multiColor")) != 0) multiColor.SetFromNode(node); if((node = searchNode->GetNode("drawWellsAs")) != 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) SetDrawWellsAs(WellRenderingMode(ival)); } else if(node->GetNodeType() == STRING_NODE) { WellRenderingMode value; if(WellRenderingMode_FromString(node->AsString(), value)) SetDrawWellsAs(value); } } if((node = searchNode->GetNode("wellCylinderQuality")) != 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 < 4) SetWellCylinderQuality(DetailLevel(ival)); } else if(node->GetNodeType() == STRING_NODE) { DetailLevel value; if(DetailLevel_FromString(node->AsString(), value)) SetWellCylinderQuality(value); } } if((node = searchNode->GetNode("wellRadius")) != 0) SetWellRadius(node->AsFloat()); if((node = searchNode->GetNode("wellLineWidth")) != 0) SetWellLineWidth(node->AsInt()); if((node = searchNode->GetNode("wellLineStyle")) != 0) SetWellLineStyle(node->AsInt()); if((node = searchNode->GetNode("wellAnnotation")) != 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 < 4) SetWellAnnotation(WellAnnotation(ival)); } else if(node->GetNodeType() == STRING_NODE) { WellAnnotation value; if(WellAnnotation_FromString(node->AsString(), value)) SetWellAnnotation(value); } } if((node = searchNode->GetNode("wellStemHeight")) != 0) SetWellStemHeight(node->AsFloat()); if((node = searchNode->GetNode("wellNameScale")) != 0) SetWellNameScale(node->AsFloat()); if((node = searchNode->GetNode("legendFlag")) != 0) SetLegendFlag(node->AsBool()); if((node = searchNode->GetNode("nWellBores")) != 0) SetNWellBores(node->AsInt()); if((node = searchNode->GetNode("wellBores")) != 0) SetWellBores(node->AsIntVector()); if((node = searchNode->GetNode("wellNames")) != 0) SetWellNames(node->AsStringVector()); }
void ColorControlPointList::SetFromNode(DataNode* parentNode) { if (parentNode == 0) return; DataNode* searchNode = parentNode->GetNode("ColorControlPointList"); if (searchNode == 0) return; DataNode* node; DataNode** children; // Clear all the ColorControlPoints. ClearControlPoints(); // // Try setting the colors from the compact color and position vectors. // bool colorsAreSet = false; DataNode* compactColorNode = searchNode->GetNode("compactColors"); DataNode* compactPositionNode = searchNode->GetNode("compactPositions"); if (compactColorNode != 0 && compactPositionNode != 0) { const unsignedCharVector& colors = compactColorNode->AsUnsignedCharVector(); const floatVector& positions = compactPositionNode->AsFloatVector(); unsigned int npts = static_cast<unsigned int>(colors.size() / 4); if (npts > static_cast<unsigned int>(positions.size())) npts = static_cast<unsigned int>(positions.size()); if (npts > 0) { for (unsigned int i = 0; i < npts; ++i) { int index = i << 2; AddControlPoints(ColorControlPoint( positions[i], colors[index], colors[index + 1], colors[index + 2], colors[index + 3])); } colorsAreSet = true; } } if (!colorsAreSet) { // Go through all of the children and construct a new // ColorControlPoint for each one of them. children = searchNode->GetChildren(); for (int i = 0; i < searchNode->GetNumChildren(); ++i) { if (children[i]->GetKey() == std::string("ColorControlPoint")) { ColorControlPoint temp; temp.SetFromNode(children[i]); AddControlPoints(temp); } } } if ((node = searchNode->GetNode("smoothingFlag")) != 0) SetSmoothingFlag(node->AsBool()); if ((node = searchNode->GetNode("equalSpacingFlag")) != 0) SetEqualSpacingFlag(node->AsBool()); if ((node = searchNode->GetNode("discreteFlag")) != 0) SetDiscreteFlag(node->AsBool()); if ((node = searchNode->GetNode("externalFlag")) != 0) SetExternalFlag(node->AsBool()); }