Commit b8e12644 authored by hkrishna's avatar hkrishna

adding ProgrammableOperator, adding to VisIt operators will follow soon

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@21743 18c085ea-50e0-402c-830e-de6fd14e8384
parent 1f69b56a
# DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake
PROJECT(ProgrammableOp)
INCLUDE(${VISIT_SOURCE_DIR}/CMake/PluginMacros.cmake)
SET(COMMON_SOURCES
ProgrammableOpPluginInfo.C
ProgrammableOpCommonPluginInfo.C
ProgrammableOpAttributes.C
)
SET(LIBI_SOURCES
ProgrammableOpPluginInfo.C
)
SET(LIBG_SOURCES
ProgrammableOpGUIPluginInfo.C
QvisProgrammableOpWindow.C
${COMMON_SOURCES}
)
SET(LIBG_MOC_SOURCES
QvisProgrammableOpWindow.h
)
SET(LIBV_SOURCES
ProgrammableOpViewerPluginInfo.C
${COMMON_SOURCES}
)
SET(LIBE_SOURCES
ProgrammableOpEnginePluginInfo.C
avtProgrammableOpFilter.C
avtProgrammableOperation.C
VisItWriteData.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}
)
ADD_DEFINITIONS("-I${VISIT_INCLUDE_DIR}/avt/PythonFilters")
ADD_DEFINITIONS("-I${NETCDF_INCLUDE_DIR}")
LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${QT_LIBRARY_DIR} ${GLEW_LIBRARY_DIR} ${VTK_LIBRARY_DIRS} ${NETCDF_LIBRARY_DIR} )
ADD_LIBRARY(IProgrammableOpOperator ${LIBI_SOURCES})
TARGET_LINK_LIBRARIES(IProgrammableOpOperator visitcommon)
SET(INSTALLTARGETS IProgrammableOpOperator)
IF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
QT_WRAP_CPP(GProgrammableOpOperator LIBG_SOURCES ${LIBG_MOC_SOURCES})
ADD_LIBRARY(GProgrammableOpOperator ${LIBG_SOURCES})
TARGET_LINK_LIBRARIES(GProgrammableOpOperator visitcommon gui )
ADD_LIBRARY(VProgrammableOpOperator ${LIBV_SOURCES})
TARGET_LINK_LIBRARIES(VProgrammableOpOperator visitcommon viewer )
SET(INSTALLTARGETS ${INSTALLTARGETS} GProgrammableOpOperator VProgrammableOpOperator)
IF(VISIT_PYTHON_SCRIPTING)
SET(LIBS_SOURCES
ProgrammableOpScriptingPluginInfo.C
PyProgrammableOpAttributes.C
${COMMON_SOURCES}
)
ADD_LIBRARY(SProgrammableOpOperator ${LIBS_SOURCES})
TARGET_LINK_LIBRARIES(SProgrammableOpOperator visitcommon visitpy ${PYTHON_LIBRARY})
SET(INSTALLTARGETS ${INSTALLTARGETS} SProgrammableOpOperator)
ENDIF(VISIT_PYTHON_SCRIPTING)
IF(VISIT_JAVA)
ADD_CUSTOM_TARGET(JavaProgrammableOp ALL ${CMAKE_Java_COMPILER} ${CMAKE_Java_FLAGS} -d ${VISIT_BINARY_DIR}/java -classpath ${VISIT_BINARY_DIR}/java ProgrammableOpAttributes.java)
ADD_DEPENDENCIES(JavaProgrammableOp JavaClient)
ENDIF(VISIT_JAVA)
ENDIF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
ADD_LIBRARY(EProgrammableOpOperator_ser ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(EProgrammableOpOperator_ser visitcommon avtexpressions_ser avtfilters_ser avtpipeline_ser ${NETCDF_LIB} )
SET(INSTALLTARGETS ${INSTALLTARGETS} EProgrammableOpOperator_ser)
IF(VISIT_PARALLEL)
ADD_PARALLEL_LIBRARY(EProgrammableOpOperator_par ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(EProgrammableOpOperator_par visitcommon avtexpressions_par avtfilters_par avtpipeline_par ${NETCDF_LIB} )
SET(INSTALLTARGETS ${INSTALLTARGETS} EProgrammableOpOperator_par)
ENDIF(VISIT_PARALLEL)
VISIT_INSTALL_OPERATOR_PLUGINS(${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_RTOD(operators ${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_FOLDER(operators ProgrammableOp ${INSTALLTARGETS})
This diff is collapsed.
<?xml version="1.0"?>
<Plugin name="ProgrammableOp" type="operator" label="ProgrammableOp" version="1.0" enabled="true" mdspecificcode="false" engspecificcode="false" onlyengine="false" noengine="false">
<CXXFLAGS>
-I${VISIT_INCLUDE_DIR}/avt/PythonFilters
-I${NETCDF_INCLUDE_DIR}
</CXXFLAGS>
<LDFLAGS>
-L${NETCDF_LIBRARY_DIR}
</LDFLAGS>
<Files components="E">
avtProgrammableOpFilter.C
avtProgrammableOperation.C
VisItWriteData.C
</Files>
<LIBS components="ESer">
${NETCDF_LIB}
</LIBS>
<LIBS components="EPar">
${NETCDF_LIB}
</LIBS>
<Attribute name="ProgrammableOpAttributes" purpose="ProgrammableOpAttributes" persistent="true" keyframe="true" exportAPI="" exportInclude="" codefile="ProgrammableOp.code">
<Field name="scriptMap" label="scriptMap" type="string">
</Field>
<Function name="PyVisItErrorFunc" user="true" member="false">
</Function>
<Function name="GetJSONVectorFromPyObject" user="true" member="false">
</Function>
<Function name="GetStringVectorFromPyObject" user="true" member="false">
</Function>
<Function name="AddConstant" user="true" member="true">
</Function>
<Function name="PyAddConstant" user="true" member="true">
</Function>
<Function name="AddFunction" user="true" member="true">
</Function>
<Function name="PyAddFunction" user="true" member="true">
</Function>
<Function name="AddRScript" user="true" member="true">
</Function>
<Function name="PyAddRScript" user="true" member="true">
</Function>
<Function name="AddPythonScript" user="true" member="true">
</Function>
<Function name="PyAddPythonScript" user="true" member="true">
</Function>
<Function name="AddNode" user="true" member="true">
</Function>
<Function name="PyAddNode" user="true" member="true">
</Function>
<Function name="AddConnection" user="true" member="true">
</Function>
<Function name="PyAddConnection" user="true" member="true">
</Function>
<Function name="AddFinalOutputConnection" user="true" member="true">
</Function>
<Function name="SetupPipeline" user="true" member="true">
</Function>
<Function name="LoadRKernel" user="true" member="true">
</Function>
<Function name="PyLoadRKernel" user="true" member="true">
</Function>
<Function name="LoadPythonKernel" user="true" member="true">
</Function>
<Function name="PyLoadPythonKernel" user="true" member="true">
</Function>
<Function name="trim" user="true" member="true">
</Function>
<Function name="rtrim" user="true" member="true">
</Function>
<Function name="ltrim" user="true" member="true">
</Function>
<Function name="getNextName" user="true" member="true">
</Function>
<Function name="replace" user="true" member="true">
</Function>
<Function name="ToString" user="false" member="false">
</Function>
<Function name="PyAddFinalOutputConnection" user="true" member="true">
</Function>
<Constant name="index" member="true">
</Constant>
<Constant name="script" member="true">
</Constant>
<Include file="header" quoted="true">
JSONNode.h
</Include>
<Include file="header" quoted="true" target="xml2python">
JSONNode.h
</Include>
<Include file="header" quoted="true" target="xml2python">
vectortypes
</Include>
<Include file="header" quoted="false">
algorithm
</Include>
<Include file="header" quoted="false">
cctype
</Include>
<Include file="header" quoted="false">
locale
</Include>
<Include file="header" quoted="false">
functional
</Include>
</Attribute>
</Plugin>
This diff is collapsed.
/*****************************************************************************
*
* 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.
*
*****************************************************************************/
#ifndef PROGRAMMABLEOPATTRIBUTES_H
#define PROGRAMMABLEOPATTRIBUTES_H
#include <string>
#include <AttributeSubject.h>
#include "JSONNode.h"
#include <algorithm>
#include <cctype>
#include <locale>
#include <functional>
// ****************************************************************************
// Class: ProgrammableOpAttributes
//
// Purpose:
// ProgrammableOpAttributes
//
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
class ProgrammableOpAttributes : public AttributeSubject
{
public:
int index;
JSONNode script;
// These constructors are for objects of this class
ProgrammableOpAttributes();
ProgrammableOpAttributes(const ProgrammableOpAttributes &obj);
protected:
// These constructors are for objects derived from this class
ProgrammableOpAttributes(private_tmfs_t tmfs);
ProgrammableOpAttributes(const ProgrammableOpAttributes &obj, private_tmfs_t tmfs);
public:
virtual ~ProgrammableOpAttributes();
virtual ProgrammableOpAttributes& operator = (const ProgrammableOpAttributes &obj);
virtual bool operator == (const ProgrammableOpAttributes &obj) const;
virtual bool operator != (const ProgrammableOpAttributes &obj) const;
private:
void Init();
void Copy(const ProgrammableOpAttributes &obj);
public:
virtual const std::string TypeName() const;
virtual bool CopyAttributes(const AttributeGroup *);
virtual AttributeSubject *CreateCompatible(const std::string &) const;
virtual AttributeSubject *NewInstance(bool) const;
// Property selection methods
virtual void SelectAll();
void SelectScriptMap();
// Property setting methods
void SetScriptMap(const std::string &scriptMap_);
// Property getting methods
const std::string &GetScriptMap() const;
std::string &GetScriptMap();
// Persistence methods
virtual bool CreateNode(DataNode *node, bool completeSave, bool forceAdd);
virtual void SetFromNode(DataNode *node);
// Keyframing methods
virtual std::string GetFieldName(int index) const;
virtual AttributeGroup::FieldType GetFieldType(int index) const;
virtual std::string GetFieldTypeName(int index) const;
virtual bool FieldsEqual(int index, const AttributeGroup *rhs) const;
// User-defined methods
void AddConstant(const std::string& name, const std::string& constant);
void AddFunction(const std::string& name, const stringVector& atts);
void AddRScript(const std::string& name, const stringVector& atts, const std::string& code);
void AddPythonScript(const std::string& name, const stringVector& atts, const std::string& code);
void AddNode(const std::string& name, const std::string& type);
void AddConnection(const std::string& from, const std::string& to, const std::string& portName);
void AddFinalOutputConnection(const std::string &from);
bool SetupPipeline(const JSONNode& atts, stringVector& args, const std::string &parent);
void LoadRKernel(const std::string& name, const JSONNode& atts, const std::string& code);
void LoadPythonKernel(const std::string& name, const JSONNode& atts, const std::string& code);
std::string trim(const std::string &s);
std::string rtrim(const std::string &ts);
std::string ltrim(const std::string &ts);
std::string getNextName();
void replace(std::string& str, const std::string& oldStr, const std::string& newStr);
// IDs that can be used to identify fields in case statements
enum {
ID_scriptMap = 0,
ID__LAST
};
private:
std::string scriptMap;
// Static class format string for type map.
static const char *TypeMapFormatString;
static const private_tmfs_t TmfsStruct;
};
#define PROGRAMMABLEOPATTRIBUTES_TMFS "s"
#endif
// ***************************************************************************
//
// 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.
//
// ***************************************************************************
package llnl.visit.operators;
import llnl.visit.AttributeSubject;
import llnl.visit.CommunicationBuffer;
import llnl.visit.Plugin;
// ****************************************************************************
// Class: ProgrammableOpAttributes
//
// Purpose:
// ProgrammableOpAttributes
//
// Notes: Autogenerated by xml2java.
//
// Programmer: xml2java
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
public class ProgrammableOpAttributes extends AttributeSubject implements Plugin
{
private static int ProgrammableOpAttributes_numAdditionalAtts = 1;
public ProgrammableOpAttributes()
{
super(ProgrammableOpAttributes_numAdditionalAtts);
scriptMap = new String("");
}
public ProgrammableOpAttributes(int nMoreFields)
{
super(ProgrammableOpAttributes_numAdditionalAtts + nMoreFields);
scriptMap = new String("");
}
public ProgrammableOpAttributes(ProgrammableOpAttributes obj)
{
super(ProgrammableOpAttributes_numAdditionalAtts);
scriptMap = new String(obj.scriptMap);
SelectAll();
}
public int Offset()
{
return super.Offset() + super.GetNumAdditionalAttributes();
}
public int GetNumAdditionalAttributes()
{
return ProgrammableOpAttributes_numAdditionalAtts;
}
public boolean equals(ProgrammableOpAttributes obj)
{
// Create the return value
return ((scriptMap.equals(obj.scriptMap)));
}
public String GetName() { return "ProgrammableOp"; }
public String GetVersion() { return "1.0"; }
// Property setting methods
public void SetScriptMap(String scriptMap_)
{
scriptMap = scriptMap_;
Select(0);
}
// Property getting methods
public String GetScriptMap() { return scriptMap; }
// Write and read methods.
public void WriteAtts(CommunicationBuffer buf)
{
if(WriteSelect(0, buf))
buf.WriteString(scriptMap);
}
public void ReadAtts(int index, CommunicationBuffer buf)
{
SetScriptMap(buf.ReadString());
}
public String toString(String indent)
{
String str = new String();
str = str + stringToString("scriptMap", scriptMap, indent) + "\n";
return str;
}
// Attributes
private String scriptMap;
}
/*****************************************************************************
*
* 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.
*
*****************************************************************************/
// ************************************************************************* //
// File: ProgrammableOpCommonPluginInfo.C
// ************************************************************************* //
#include <ProgrammableOpPluginInfo.h>
#include <ProgrammableOpAttributes.h>
// ****************************************************************************
// Method: ProgrammableOpCommonPluginInfo::AllocAttributes
//
// Purpose:
// Return a pointer to a newly allocated attribute subject.
//
// Returns: A pointer to the newly allocated attribute subject.
//
// Programmer: generated by xml2info
// Creation: omitted
//
// ****************************************************************************
AttributeSubject *
ProgrammableOpCommonPluginInfo::AllocAttributes()
{
return new ProgrammableOpAttributes;
}
// ****************************************************************************
// Method: ProgrammableOpCommonPluginInfo::CopyAttributes
//
// Purpose:
// Copy a ProgrammableOp attribute subject.
//
// Arguments:
// to The destination attribute subject.
// from The source attribute subject.
//
// Programmer: generated by xml2info
// Creation: omitted
//
// ****************************************************************************
void
ProgrammableOpCommonPluginInfo::CopyAttributes(AttributeSubject *to,
AttributeSubject *from)
{
*((ProgrammableOpAttributes *) to) = *((ProgrammableOpAttributes *) from);
}
/*****************************************************************************
*
* 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.
*
*****************************************************************************/
// ************************************************************************* //
// File: ProgrammableOpEnginePluginInfo.C
// ************************************************************************* //
#include <ProgrammableOpPluginInfo.h>
#include <avtProgrammableOpFilter.h>
// ****************************************************************************
// Function: GetEngineInfo
//
// Purpose:
// Return a new EnginePluginInfo for the ProgrammableOp operator.
//
// Programmer: generated by xml2info
// Creation: omitted
//
// ****************************************************************************
extern "C" OP_EXPORT EngineOperatorPluginInfo* ProgrammableOp_GetEngineInfo()
{
return new ProgrammableOpEnginePluginInfo;
}
// ****************************************************************************
// Method: ProgrammableOpEnginePluginInfo::AllocAvtPluginFilter
//
// Purpose:
// Return a pointer to a newly allocated avtPluginFilter.
//
// Returns: A pointer to the newly allocated avtPluginFilter.
//
// Programmer: generated by xml2info
// Creation: omitted
//
// ****************************************************************************
avtPluginFilter *
ProgrammableOpEnginePluginInfo::AllocAvtPluginFilter()
{
return new avtProgrammableOpFilter;
}
/*****************************************************************************
*
* Copyright (c) 2000 - 2012, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory