bool SurfaceAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool forceAdd) { if(parentNode == 0) return false; SurfaceAttributes defaultObject; bool addToParent = false; // Create a node for SurfaceAttributes. DataNode *node = new DataNode("SurfaceAttributes"); if(completeSave || !FieldsEqual(ID_legendFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("legendFlag", legendFlag)); } if(completeSave || !FieldsEqual(ID_lightingFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("lightingFlag", lightingFlag)); } if(completeSave || !FieldsEqual(ID_surfaceFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("surfaceFlag", surfaceFlag)); } if(completeSave || !FieldsEqual(ID_wireframeFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("wireframeFlag", wireframeFlag)); } if(completeSave || !FieldsEqual(ID_limitsMode, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("limitsMode", LimitsMode_ToString(limitsMode))); } if(completeSave || !FieldsEqual(ID_minFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("minFlag", minFlag)); } if(completeSave || !FieldsEqual(ID_maxFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("maxFlag", maxFlag)); } if(completeSave || !FieldsEqual(ID_colorByZFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("colorByZFlag", colorByZFlag)); } if(completeSave || !FieldsEqual(ID_scaling, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("scaling", Scaling_ToString(scaling))); } if(completeSave || !FieldsEqual(ID_lineStyle, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("lineStyle", lineStyle)); } if(completeSave || !FieldsEqual(ID_lineWidth, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("lineWidth", lineWidth)); } DataNode *surfaceColorNode = new DataNode("surfaceColor"); if(surfaceColor.CreateNode(surfaceColorNode, completeSave, true)) { addToParent = true; node->AddNode(surfaceColorNode); } else delete surfaceColorNode; DataNode *wireframeColorNode = new DataNode("wireframeColor"); if(wireframeColor.CreateNode(wireframeColorNode, completeSave, true)) { addToParent = true; node->AddNode(wireframeColorNode); } else delete wireframeColorNode; if(completeSave || !FieldsEqual(ID_skewFactor, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("skewFactor", skewFactor)); } if(completeSave || !FieldsEqual(ID_min, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("min", min)); } if(completeSave || !FieldsEqual(ID_max, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("max", max)); } if(completeSave || !FieldsEqual(ID_colorTableName, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("colorTableName", colorTableName)); } if(completeSave || !FieldsEqual(ID_invertColorTable, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("invertColorTable", invertColorTable)); } // Add the node to the parent node. if(addToParent || forceAdd) parentNode->AddNode(node); else delete node; return (addToParent || forceAdd); }
bool SurfaceFilterAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool forceAdd) { if(parentNode == 0) return false; SurfaceFilterAttributes defaultObject; bool addToParent = false; // Create a node for SurfaceFilterAttributes. DataNode *node = new DataNode("SurfaceFilterAttributes"); if(completeSave || !FieldsEqual(ID_limitsMode, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("limitsMode", LimitsMode_ToString(limitsMode))); } if(completeSave || !FieldsEqual(ID_minFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("minFlag", minFlag)); } if(completeSave || !FieldsEqual(ID_maxFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("maxFlag", maxFlag)); } if(completeSave || !FieldsEqual(ID_scaling, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("scaling", Scaling_ToString(scaling))); } if(completeSave || !FieldsEqual(ID_skewFactor, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("skewFactor", skewFactor)); } if(completeSave || !FieldsEqual(ID_min, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("min", min)); } if(completeSave || !FieldsEqual(ID_max, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("max", max)); } if(completeSave || !FieldsEqual(ID_zeroFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("zeroFlag", zeroFlag)); } if(completeSave || !FieldsEqual(ID_variable, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("variable", variable)); } if(completeSave || !FieldsEqual(ID_useXYLimits, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("useXYLimits", useXYLimits)); } if(completeSave || !FieldsEqual(ID_generateNodalOutput, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("generateNodalOutput", generateNodalOutput)); } // Add the node to the parent node. if(addToParent || forceAdd) parentNode->AddNode(node); else delete node; return (addToParent || forceAdd); }
// **************************************************************************** // Method: ContourAttributes::CreateNode // // Purpose: // This method creates a DataNode representation of the object so it can be saved to a config file. // // Note: Autogenerated by xml2atts. // // Programmer: xml2atts // Creation: Tue Dec 3 08:50:34 PDT 2002 // // Modifications: // Brad Whitlock, Thu Oct 9 13:32:13 PST 2003 // I made the single color always be saved out. // // Brad Whitlock, Tue Oct 21 16:01:40 PST 2003 // I made the default palette get saved out with the colors from the // multicolor in it. // // Brad Whitlock, Thu Dec 18 11:52:04 PDT 2003 // Added the completeSave flag. // // **************************************************************************** bool ContourAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool forceAdd) { if(parentNode == 0) return false; ContourAttributes defaultObject; bool addToParent = false; // Create a node for ContourAttributes. DataNode *node = new DataNode("ContourAttributes"); // // Create a copy of the defaultPalette object and store the colors // from the multiColor into it. Once we do that, save the palette to // the node. // bool fixupPositions = false; DataNode *defaultPaletteNode = new DataNode("defaultPalette"); ColorControlPointList savePalette(defaultPalette); int initialNPoints = savePalette.GetNumControlPoints(); for(int i = 0; i < multiColor.GetNumColors(); ++i) { const ColorAttribute &cpt = multiColor.GetColors(i); if(i < initialNPoints) { savePalette[i].SetColors(cpt.GetColor()); } else { ColorControlPoint ccpt; ccpt.SetColors(cpt.GetColor()); savePalette.AddControlPoints(ccpt); fixupPositions = true; } } if(fixupPositions) { int npts = savePalette.GetNumControlPoints(); for(int i = 0; i < npts; ++i) savePalette[i].SetPosition(float(i) / float(npts-1)); } if(savePalette.CompactCreateNode(defaultPaletteNode, completeSave, forceAdd)) { addToParent = true; node->AddNode(defaultPaletteNode); } else delete defaultPaletteNode; if(completeSave || !FieldsEqual(ID_colorType, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("colorType", ColoringMethod_ToString(colorType))); } if(completeSave || !FieldsEqual(ID_colorTableName, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("colorTableName", colorTableName)); } if(completeSave || !FieldsEqual(ID_legendFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("legendFlag", legendFlag)); } if(completeSave || !FieldsEqual(ID_lineStyle, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("lineStyle", lineStyle)); } if(completeSave || !FieldsEqual(ID_lineWidth, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("lineWidth", lineWidth)); } DataNode *singleColorNode = new DataNode("singleColor"); if(singleColor.CreateNode(singleColorNode, true, true)) { addToParent = true; node->AddNode(singleColorNode); } else delete singleColorNode; if(completeSave || !FieldsEqual(ID_contourNLevels, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("contourNLevels", contourNLevels)); } if(completeSave || !FieldsEqual(ID_contourValue, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("contourValue", contourValue)); } if(completeSave || !FieldsEqual(ID_contourPercent, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("contourPercent", contourPercent)); } if(completeSave || !FieldsEqual(ID_contourMethod, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("contourMethod", Select_by_ToString(contourMethod))); } if(completeSave || !FieldsEqual(ID_minFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("minFlag", minFlag)); } if(completeSave || !FieldsEqual(ID_maxFlag, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("maxFlag", maxFlag)); } if(completeSave || !FieldsEqual(ID_min, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("min", min)); } if(completeSave || !FieldsEqual(ID_max, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("max", max)); } if(completeSave || !FieldsEqual(ID_scaling, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("scaling", Scaling_ToString(scaling))); } if(completeSave || !FieldsEqual(ID_wireframe, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("wireframe", wireframe)); } if(completeSave || !FieldsEqual(ID_invertColorTable, &defaultObject)) { addToParent = true; node->AddNode(new DataNode("invertColorTable", invertColorTable)); } // Add the node to the parent node. if(addToParent || forceAdd) parentNode->AddNode(node); else delete node; return (addToParent || forceAdd); }