Commit 67f22779 authored by ghweber's avatar ghweber

Added bare-bones support for 4D Chombo data.

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@21691 18c085ea-50e0-402c-830e-de6fd14e8384
parent 5403d9b5
......@@ -615,6 +615,9 @@ avtPickQuery::DeterminePickedNode(vtkDataSet *ds, int &foundEl)
// Cyrus Harrison, Mon Sep 17 11:35:32 PDT 2007
// Added support for user settable floating point format string
//
// Gunther H. Weber, Thu Aug 22 10:19:37 PDT 2013
// Allow GetLogicalIndices to return negative indices.
//
// ****************************************************************************
......@@ -638,8 +641,8 @@ avtPickQuery::GetNodeCoords(vtkDataSet *ds, const int nodeId)
if (pickAtts.GetShowNodeDomainLogicalCoords())
{
nodeCoords.clear();
vtkVisItUtility::GetLogicalIndices(ds, false, nodeId, ijk,
false);
vtkVisItUtility::GetLogicalIndices(ds, false, nodeId, ijk,
false, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>",
......@@ -656,13 +659,13 @@ avtPickQuery::GetNodeCoords(vtkDataSet *ds, const int nodeId)
if (pickAtts.GetShowNodeBlockLogicalCoords())
{
nodeCoords.clear();
vtkVisItUtility::GetLogicalIndices(ds, false, nodeId, ijk,
true);
vtkVisItUtility::GetLogicalIndices(ds, false, nodeId, ijk,
true, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>", ijk[0], ijk[1]);
}
else
else
{
SNPRINTF(buff, 80, "<%d, %d, %d>", ijk[0], ijk[1], ijk[2]);
}
......@@ -711,6 +714,9 @@ avtPickQuery::GetNodeCoords(vtkDataSet *ds, const int nodeId)
// I made it use the cell origin for the zonal domain logical coordinates.
// I also made it use SNPRINTF.
//
// Gunther H. Weber, Thu Aug 22 10:19:37 PDT 2013
// Allow GetLogicalIndices to return negative indices.
//
// ****************************************************************************
void
......@@ -729,7 +735,7 @@ avtPickQuery::GetZoneCoords(vtkDataSet *ds, const int zoneId)
{
zoneCoords.clear();
vtkVisItUtility::GetLogicalIndices(ds, true, zoneId,
ijk, false);
ijk, false, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>", ijk[0] + cellOrigin,
......@@ -749,7 +755,7 @@ avtPickQuery::GetZoneCoords(vtkDataSet *ds, const int zoneId)
{
zoneCoords.clear();
vtkVisItUtility::GetLogicalIndices(ds, true, zoneId,
ijk, true);
ijk, true, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>", ijk[0], ijk[1]);
......@@ -1102,6 +1108,9 @@ avtPickQuery::RetrieveVarInfo(vtkDataSet* ds, const int findElement,
// Cyrus Harrison, Mon Sep 17 11:35:32 PDT 2007
// Added support for user settable floating point format string
//
// Gunther H. Weber, Thu Aug 22 10:19:37 PDT 2013
// Allow GetLogicalIndices to return negative indices.
//
// ****************************************************************************
bool
......@@ -1194,8 +1203,8 @@ avtPickQuery::RetrieveNodes(vtkDataSet *ds, int zone)
{
if (pickAtts.GetShowNodeDomainLogicalCoords())
{
vtkVisItUtility::GetLogicalIndices(ds, false,
ptIds->GetId(i), ijk, false);
vtkVisItUtility::GetLogicalIndices(ds, false,
ptIds->GetId(i), ijk, false, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>",
......@@ -1211,7 +1220,7 @@ avtPickQuery::RetrieveNodes(vtkDataSet *ds, int zone)
if (pickAtts.GetShowNodeBlockLogicalCoords())
{
vtkVisItUtility::GetLogicalIndices(ds, false,
ptIds->GetId(i), ijk, true);
ptIds->GetId(i), ijk, true, true, true);
if (pickAtts.GetDimension() == 2)
{
SNPRINTF(buff, 80, "<%d, %d>", ijk[0], ijk[1]);
......@@ -1323,6 +1332,9 @@ avtPickQuery::RetrieveNodes(vtkDataSet *ds, int zone)
// Kathleen Biagas, Thu Oct 16 13:18:51 PDT 2012
// Account for cellOrigin.
//
// Gunther H. Weber, Thu Aug 22 10:19:37 PDT 2013
// Allow GetLogicalIndices to return negative indices.
//
// ****************************************************************************
bool
......@@ -1388,7 +1400,7 @@ avtPickQuery::RetrieveZones(vtkDataSet *ds, int foundNode)
if (pickAtts.GetShowZoneDomainLogicalCoords())
{
vtkVisItUtility::GetLogicalIndices(ds, true, cells[i],
ijk, false);
ijk, false, true, true);
if (pickAtts.GetDimension() == 2)
{
......@@ -1405,7 +1417,7 @@ avtPickQuery::RetrieveZones(vtkDataSet *ds, int foundNode)
if (pickAtts.GetShowZoneBlockLogicalCoords())
{
vtkVisItUtility::GetLogicalIndices(ds, true, cells[i],
ijk, true);
ijk, true, true, true);
if (pickAtts.GetDimension() == 2)
{
......
This diff is collapsed.
......@@ -68,6 +68,13 @@ struct {
int k;
} typedef intvect3d;
struct {
int i;
int j;
int k;
int l;
} typedef intvect4d;
struct {
intvect2d lo;
intvect2d hi;
......@@ -78,10 +85,16 @@ struct{
intvect3d hi;
} typedef box3d;
struct{
intvect4d lo;
intvect4d hi;
} typedef box4d;
union
{
box2d b2;
box3d b3;
box4d b4;
} typedef box;
struct {
......@@ -153,6 +166,10 @@ class DBOptionsAttributes;
// Tom Fogal, Fri Aug 6 16:39:18 MDT 2010
// Implement method to handle data selections.
//
// Gunther H. Weber, Thu Aug 15 11:37:51 PDT 2013
// Initial bare-bones support for 4D Chombo files (fairly limited and
// "hackish")
//
// ****************************************************************************
class avtChomboFileFormat : public avtSTMDFileFormat
......@@ -210,12 +227,20 @@ class avtChomboFileFormat : public avtSTMDFileFormat
bool mappingFileExists;
bool mappingIs3D;
// Information to group boxes for 4D data sets to create array variable
// from 4th dimension
std::vector<int> listOfRepresentativeBoxes;
std::vector<int> representativeBox;
std::vector< std::vector<int> > representedBoxes;
std::vector<int> lowProbI;
std::vector<int> hiProbI;
std::vector<int> lowProbJ;
std::vector<int> hiProbJ;
std::vector<int> lowProbK;
std::vector<int> hiProbK;
std::vector<int> lowProbL;
std::vector<int> hiProbL;
std::vector<int> lowI;
std::vector<int> hiI;
......@@ -223,6 +248,8 @@ class avtChomboFileFormat : public avtSTMDFileFormat
std::vector<int> hiJ;
std::vector<int> lowK;
std::vector<int> hiK;
std::vector<int> lowL;
std::vector<int> hiL;
double probLo[3];
double aspectRatio[3];
......
......@@ -90,6 +90,7 @@ DualMesh
Edge
Elevate
ExternalSurface
ExtractPointFunction2D
Extrude
FFT
FiveFoldTetSubdivision
......@@ -111,6 +112,7 @@ PDF
PersistentParticles
Poincare
Project
RectilinearProject2D
Reflect
Replicate
Resample
......
# DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake
PROJECT(ExtractPointFunction2D)
INCLUDE(${VISIT_SOURCE_DIR}/CMake/PluginMacros.cmake)
SET(COMMON_SOURCES
ExtractPointFunction2DPluginInfo.C
ExtractPointFunction2DCommonPluginInfo.C
ExtractPointFunction2DAttributes.C
)
SET(LIBI_SOURCES
ExtractPointFunction2DPluginInfo.C
)
SET(LIBG_SOURCES
ExtractPointFunction2DGUIPluginInfo.C
QvisExtractPointFunction2DWindow.C
${COMMON_SOURCES}
)
SET(LIBG_MOC_SOURCES
QvisExtractPointFunction2DWindow.h
)
SET(LIBV_SOURCES
ExtractPointFunction2DViewerPluginInfo.C
${COMMON_SOURCES}
)
SET(LIBE_SOURCES
ExtractPointFunction2DEnginePluginInfo.C
avtExtractPointFunction2DFilter.C
${COMMON_SOURCES}
)
IF(VISIT_PYTHON_SCRIPTING)
SET(PYINCLUDES ${PYTHON_INCLUDE_PATH} ${VISIT_INCLUDE_DIR}/visitpy/visitpy)
ENDIF(VISIT_PYTHON_SCRIPTING)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${VISIT_COMMON_INCLUDES}
${VISIT_INCLUDE_DIR}/avt/DBAtts/MetaData
${VISIT_INCLUDE_DIR}/avt/DBAtts/SIL
${VISIT_INCLUDE_DIR}/avt/Database/Database
${VISIT_INCLUDE_DIR}/avt/Expressions/Abstract
${VISIT_INCLUDE_DIR}/avt/Expressions/CMFE
${VISIT_INCLUDE_DIR}/avt/Expressions/Conditional
${VISIT_INCLUDE_DIR}/avt/Expressions/Derivations
${VISIT_INCLUDE_DIR}/avt/Expressions/General
${VISIT_INCLUDE_DIR}/avt/Expressions/ImageProcessing
${VISIT_INCLUDE_DIR}/avt/Expressions/Management
${VISIT_INCLUDE_DIR}/avt/Expressions/Math
${VISIT_INCLUDE_DIR}/avt/Expressions/MeshQuality
${VISIT_INCLUDE_DIR}/avt/Expressions/TimeIterators
${VISIT_INCLUDE_DIR}/avt/FileWriter
${VISIT_INCLUDE_DIR}/avt/Filters
${VISIT_INCLUDE_DIR}/avt/IVP
${VISIT_INCLUDE_DIR}/avt/Math
${VISIT_INCLUDE_DIR}/avt/Pipeline/AbstractFilters
${VISIT_INCLUDE_DIR}/avt/Pipeline/Data
${VISIT_INCLUDE_DIR}/avt/Pipeline/Pipeline
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sinks
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sources
${VISIT_INCLUDE_DIR}/avt/Plotter
${VISIT_INCLUDE_DIR}/avt/QtVisWindow
${VISIT_INCLUDE_DIR}/avt/View
${VISIT_INCLUDE_DIR}/avt/VisWindow/Colleagues
${VISIT_INCLUDE_DIR}/avt/VisWindow/Interactors
${VISIT_INCLUDE_DIR}/avt/VisWindow/Proxies
${VISIT_INCLUDE_DIR}/avt/VisWindow/Tools
${VISIT_INCLUDE_DIR}/avt/VisWindow/VisWindow
${VISIT_INCLUDE_DIR}/gui
${VISIT_INCLUDE_DIR}/mdserver/proxy
${VISIT_INCLUDE_DIR}/mdserver/rpc
${VISIT_INCLUDE_DIR}/viewer/main
${VISIT_INCLUDE_DIR}/viewer/proxy
${VISIT_INCLUDE_DIR}/viewer/rpc
${VISIT_INCLUDE_DIR}/winutil
${VISIT_INCLUDE_DIR}/visit_vtk/full
${VISIT_INCLUDE_DIR}/visit_vtk/lightweight
${QT_INCLUDE_DIR}
${QT_QTCORE_INCLUDE_DIR}
${QT_QTGUI_INCLUDE_DIR}
${VTK_INCLUDE_DIRS}
${PYINCLUDES}
)
LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${QT_LIBRARY_DIR} ${GLEW_LIBRARY_DIR} ${VTK_LIBRARY_DIRS} )
ADD_LIBRARY(IExtractPointFunction2DOperator ${LIBI_SOURCES})
TARGET_LINK_LIBRARIES(IExtractPointFunction2DOperator visitcommon)
SET(INSTALLTARGETS IExtractPointFunction2DOperator)
IF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
QT_WRAP_CPP(GExtractPointFunction2DOperator LIBG_SOURCES ${LIBG_MOC_SOURCES})
ADD_LIBRARY(GExtractPointFunction2DOperator ${LIBG_SOURCES})
TARGET_LINK_LIBRARIES(GExtractPointFunction2DOperator visitcommon gui )
ADD_LIBRARY(VExtractPointFunction2DOperator ${LIBV_SOURCES})
TARGET_LINK_LIBRARIES(VExtractPointFunction2DOperator visitcommon viewer )
SET(INSTALLTARGETS ${INSTALLTARGETS} GExtractPointFunction2DOperator VExtractPointFunction2DOperator)
IF(VISIT_PYTHON_SCRIPTING)
SET(LIBS_SOURCES
ExtractPointFunction2DScriptingPluginInfo.C
PyExtractPointFunction2DAttributes.C
${COMMON_SOURCES}
)
ADD_LIBRARY(SExtractPointFunction2DOperator ${LIBS_SOURCES})
TARGET_LINK_LIBRARIES(SExtractPointFunction2DOperator visitcommon visitpy ${PYTHON_LIBRARY})
SET(INSTALLTARGETS ${INSTALLTARGETS} SExtractPointFunction2DOperator)
ENDIF(VISIT_PYTHON_SCRIPTING)
IF(VISIT_JAVA)
ADD_CUSTOM_TARGET(JavaExtractPointFunction2D ALL ${CMAKE_Java_COMPILER} ${CMAKE_Java_FLAGS} -d ${VISIT_BINARY_DIR}/java -classpath ${VISIT_BINARY_DIR}/java ExtractPointFunction2DAttributes.java)
ADD_DEPENDENCIES(JavaExtractPointFunction2D JavaClient)
ENDIF(VISIT_JAVA)
ENDIF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
ADD_LIBRARY(EExtractPointFunction2DOperator_ser ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(EExtractPointFunction2DOperator_ser visitcommon avtexpressions_ser avtfilters_ser avtpipeline_ser )
SET(INSTALLTARGETS ${INSTALLTARGETS} EExtractPointFunction2DOperator_ser)
IF(VISIT_PARALLEL)
ADD_PARALLEL_LIBRARY(EExtractPointFunction2DOperator_par ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(EExtractPointFunction2DOperator_par visitcommon avtexpressions_par avtfilters_par avtpipeline_par )
SET(INSTALLTARGETS ${INSTALLTARGETS} EExtractPointFunction2DOperator_par)
ENDIF(VISIT_PARALLEL)
VISIT_INSTALL_OPERATOR_PLUGINS(${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_RTOD(operators ${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_FOLDER(operators ExtractPointFunction2D ${INSTALLTARGETS})
<?xml version="1.0"?>
<Plugin name="ExtractPointFunction2D" type="operator" label="Extract Point Function 2D" version="1.0" enabled="false" mdspecificcode="false" engspecificcode="false" onlyengine="false" noengine="false" createExpression="true" exprInType="array" exprOutType="scalar" category="Analysis">
<Attribute name="ExtractPointFunction2DAttributes" purpose="Attributes for ExtractPointFunction2D" persistent="true" keyframe="true" exportAPI="" exportInclude="" codefile="ExtractPointFunction2DAttributes.code">
<Field name="I" label="I" type="int">
0
</Field>
<Field name="J" label="J" type="int">
0
</Field>
<Function name="ExtractPointFunction2DCommonPluginInfo::GetCreatedExpressions" user="false" member="true">
</Function>
</Attribute>
</Plugin>
/*****************************************************************************
*
* Copyright (c) 2000 - 2012, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
*
* This file is part of VisIt. For details, see https://visit.llnl.gov/. The
* full copyright notice is contained in the file COPYRIGHT located at the root
* of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the disclaimer below.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the disclaimer (as noted below) in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the LLNS/LLNL nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,
* LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
*****************************************************************************/
#include <ExtractPointFunction2DAttributes.h>
#include <DataNode.h>
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Init utility for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
void ExtractPointFunction2DAttributes::Init()
{
I = 0;
J = 0;
ExtractPointFunction2DAttributes::SelectAll();
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Copy utility for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
void ExtractPointFunction2DAttributes::Copy(const ExtractPointFunction2DAttributes &obj)
{
I = obj.I;
J = obj.J;
ExtractPointFunction2DAttributes::SelectAll();
}
// Type map format string
const char *ExtractPointFunction2DAttributes::TypeMapFormatString = EXTRACTPOINTFUNCTION2DATTRIBUTES_TMFS;
const AttributeGroup::private_tmfs_t ExtractPointFunction2DAttributes::TmfsStruct = {EXTRACTPOINTFUNCTION2DATTRIBUTES_TMFS};
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Default constructor for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes() :
AttributeSubject(ExtractPointFunction2DAttributes::TypeMapFormatString)
{
ExtractPointFunction2DAttributes::Init();
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Constructor for the derived classes of ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes(private_tmfs_t tmfs) :
AttributeSubject(tmfs.tmfs)
{
ExtractPointFunction2DAttributes::Init();
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Copy constructor for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes(const ExtractPointFunction2DAttributes &obj) :
AttributeSubject(ExtractPointFunction2DAttributes::TypeMapFormatString)
{
ExtractPointFunction2DAttributes::Copy(obj);
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes
//
// Purpose:
// Copy constructor for derived classes of the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes::ExtractPointFunction2DAttributes(const ExtractPointFunction2DAttributes &obj, private_tmfs_t tmfs) :
AttributeSubject(tmfs.tmfs)
{
ExtractPointFunction2DAttributes::Copy(obj);
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::~ExtractPointFunction2DAttributes
//
// Purpose:
// Destructor for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes::~ExtractPointFunction2DAttributes()
{
// nothing here
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::operator =
//
// Purpose:
// Assignment operator for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
ExtractPointFunction2DAttributes&
ExtractPointFunction2DAttributes::operator = (const ExtractPointFunction2DAttributes &obj)
{
if (this == &obj) return *this;
ExtractPointFunction2DAttributes::Copy(obj);
return *this;
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::operator ==
//
// Purpose:
// Comparison operator == for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
bool
ExtractPointFunction2DAttributes::operator == (const ExtractPointFunction2DAttributes &obj) const
{
// Create the return value
return ((I == obj.I) &&
(J == obj.J));
}
// ****************************************************************************
// Method: ExtractPointFunction2DAttributes::operator !=
//
// Purpose:
// Comparison operator != for the ExtractPointFunction2DAttributes class.
//
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************