Files
src_old/visit_plugins/operators/RandomSample/PyH5PartRandomSampleAttributes.C
T

359 lines
10 KiB
C++

#include <PyH5PartRandomSampleAttributes.h>
#include <ObserverToCallback.h>
#include <ColorAttribute.h>
#include <snprintf.h>
// ****************************************************************************
// Module: PyH5PartRandomSampleAttributes
//
// Purpose:
// Randomly reduce an H5Part point mesh
//
// Note: Autogenerated by xml2python. Do not modify by hand!
//
// Programmer: xml2python
// Creation: Thu Mar 16 10:26:56 PDT 2006
//
// ****************************************************************************
//
// This struct contains the Python type information and a H5PartRandomSampleAttributes.
//
struct H5PartRandomSampleAttributesObject
{
PyObject_HEAD
H5PartRandomSampleAttributes *data;
bool owns;
};
//
// Internal prototypes
//
static PyObject *NewH5PartRandomSampleAttributes(int);
std::string
PyH5PartRandomSampleAttributes_ToString(const H5PartRandomSampleAttributes *atts, const char *prefix)
{
std::string str;
char tmpStr[1000];
SNPRINTF(tmpStr, 1000, "%sfactor = %g\n", prefix, atts->GetFactor());
str += tmpStr;
return str;
}
static PyObject *
H5PartRandomSampleAttributes_Notify(PyObject *self, PyObject *args)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)self;
obj->data->Notify();
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
H5PartRandomSampleAttributes_SetFactor(PyObject *self, PyObject *args)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)self;
float fval;
if(!PyArg_ParseTuple(args, "f", &fval))
return NULL;
// Set the factor in the object.
obj->data->SetFactor(fval);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
H5PartRandomSampleAttributes_GetFactor(PyObject *self, PyObject *args)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)self;
PyObject *retval = PyFloat_FromDouble(double(obj->data->GetFactor()));
return retval;
}
static struct PyMethodDef H5PartRandomSampleAttributes_methods[] = {
{"Notify", H5PartRandomSampleAttributes_Notify, METH_VARARGS},
{"SetFactor", H5PartRandomSampleAttributes_SetFactor, METH_VARARGS},
{"GetFactor", H5PartRandomSampleAttributes_GetFactor, METH_VARARGS},
{NULL, NULL}
};
//
// Type functions
//
static void
H5PartRandomSampleAttributes_dealloc(PyObject *v)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)v;
if(obj->owns)
delete obj->data;
}
static int
H5PartRandomSampleAttributes_compare(PyObject *v, PyObject *w)
{
H5PartRandomSampleAttributes *a = ((H5PartRandomSampleAttributesObject *)v)->data;
H5PartRandomSampleAttributes *b = ((H5PartRandomSampleAttributesObject *)w)->data;
return (*a == *b) ? 0 : -1;
}
static PyObject *
H5PartRandomSampleAttributes_getattr(PyObject *self, char *name)
{
if(strcmp(name, "factor") == 0)
return H5PartRandomSampleAttributes_GetFactor(self, NULL);
return Py_FindMethod(H5PartRandomSampleAttributes_methods, self, name);
}
static int
H5PartRandomSampleAttributes_setattr(PyObject *self, char *name, PyObject *args)
{
// Create a tuple to contain the arguments since all of the Set
// functions expect a tuple.
PyObject *tuple = PyTuple_New(1);
PyTuple_SET_ITEM(tuple, 0, args);
Py_INCREF(args);
bool retval = false;
if(strcmp(name, "factor") == 0)
retval = (H5PartRandomSampleAttributes_SetFactor(self, tuple) != NULL);
Py_DECREF(tuple);
return retval ? 0 : -1;
}
static int
H5PartRandomSampleAttributes_print(PyObject *v, FILE *fp, int flags)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)v;
fprintf(fp, "%s", PyH5PartRandomSampleAttributes_ToString(obj->data, "").c_str());
return 0;
}
PyObject *
H5PartRandomSampleAttributes_str(PyObject *v)
{
H5PartRandomSampleAttributesObject *obj = (H5PartRandomSampleAttributesObject *)v;
return PyString_FromString(PyH5PartRandomSampleAttributes_ToString(obj->data,"").c_str());
}
//
// The doc string for the class.
//
static char *H5PartRandomSampleAttributes_Purpose = "Randomly reduce an H5Part point mesh";
//
// The type description structure
//
static PyTypeObject H5PartRandomSampleAttributesType =
{
//
// Type header
//
PyObject_HEAD_INIT(&PyType_Type)
0, // ob_size
"H5PartRandomSampleAttributes", // tp_name
sizeof(H5PartRandomSampleAttributesObject), // tp_basicsize
0, // tp_itemsize
//
// Standard methods
//
(destructor)H5PartRandomSampleAttributes_dealloc, // tp_dealloc
(printfunc)H5PartRandomSampleAttributes_print, // tp_print
(getattrfunc)H5PartRandomSampleAttributes_getattr, // tp_getattr
(setattrfunc)H5PartRandomSampleAttributes_setattr, // tp_setattr
(cmpfunc)H5PartRandomSampleAttributes_compare, // tp_compare
(reprfunc)0, // tp_repr
//
// Type categories
//
0, // tp_as_number
0, // tp_as_sequence
0, // tp_as_mapping
//
// More methods
//
0, // tp_hash
0, // tp_call
(reprfunc)H5PartRandomSampleAttributes_str, // tp_str
0, // tp_getattro
0, // tp_setattro
0, // tp_as_buffer
Py_TPFLAGS_CHECKTYPES, // tp_flags
H5PartRandomSampleAttributes_Purpose, // tp_doc
0, // tp_traverse
0, // tp_clear
0, // tp_richcompare
0 // tp_weaklistoffset
};
//
// Helper functions for object allocation.
//
static H5PartRandomSampleAttributes *defaultAtts = 0;
static H5PartRandomSampleAttributes *currentAtts = 0;
static PyObject *
NewH5PartRandomSampleAttributes(int useCurrent)
{
H5PartRandomSampleAttributesObject *newObject;
newObject = PyObject_NEW(H5PartRandomSampleAttributesObject, &H5PartRandomSampleAttributesType);
if(newObject == NULL)
return NULL;
if(useCurrent && currentAtts != 0)
newObject->data = new H5PartRandomSampleAttributes(*currentAtts);
else if(defaultAtts != 0)
newObject->data = new H5PartRandomSampleAttributes(*defaultAtts);
else
newObject->data = new H5PartRandomSampleAttributes;
newObject->owns = true;
return (PyObject *)newObject;
}
static PyObject *
WrapH5PartRandomSampleAttributes(const H5PartRandomSampleAttributes *attr)
{
H5PartRandomSampleAttributesObject *newObject;
newObject = PyObject_NEW(H5PartRandomSampleAttributesObject, &H5PartRandomSampleAttributesType);
if(newObject == NULL)
return NULL;
newObject->data = (H5PartRandomSampleAttributes *)attr;
newObject->owns = false;
return (PyObject *)newObject;
}
///////////////////////////////////////////////////////////////////////////////
//
// Interface that is exposed to the VisIt module.
//
///////////////////////////////////////////////////////////////////////////////
PyObject *
H5PartRandomSampleAttributes_new(PyObject *self, PyObject *args)
{
int useCurrent = 0;
if (!PyArg_ParseTuple(args, "i", &useCurrent))
{
if (!PyArg_ParseTuple(args, ""))
return NULL;
else
PyErr_Clear();
}
return (PyObject *)NewH5PartRandomSampleAttributes(useCurrent);
}
//
// Plugin method table. These methods are added to the visitmodule's methods.
//
static PyMethodDef H5PartRandomSampleAttributesMethods[] = {
{"H5PartRandomSampleAttributes", H5PartRandomSampleAttributes_new, METH_VARARGS},
{NULL, NULL} /* Sentinel */
};
static Observer *H5PartRandomSampleAttributesObserver = 0;
std::string
PyH5PartRandomSampleAttributes_GetLogString()
{
std::string s("H5PartRandomSampleAtts = H5PartRandomSampleAttributes()\n");
if(currentAtts != 0)
s += PyH5PartRandomSampleAttributes_ToString(currentAtts, "H5PartRandomSampleAtts.");
return s;
}
static void
PyH5PartRandomSampleAttributes_CallLogRoutine(Subject *subj, void *data)
{
H5PartRandomSampleAttributes *atts = (H5PartRandomSampleAttributes *)subj;
typedef void (*logCallback)(const std::string &);
logCallback cb = (logCallback)data;
if(cb != 0)
{
std::string s("H5PartRandomSampleAtts = H5PartRandomSampleAttributes()\n");
s += PyH5PartRandomSampleAttributes_ToString(currentAtts, "H5PartRandomSampleAtts.");
cb(s);
}
}
void
PyH5PartRandomSampleAttributes_StartUp(H5PartRandomSampleAttributes *subj, void *data)
{
if(subj == 0)
return;
currentAtts = subj;
PyH5PartRandomSampleAttributes_SetDefaults(subj);
//
// Create the observer that will be notified when the attributes change.
//
if(H5PartRandomSampleAttributesObserver == 0)
{
H5PartRandomSampleAttributesObserver = new ObserverToCallback(subj,
PyH5PartRandomSampleAttributes_CallLogRoutine, (void *)data);
}
}
void
PyH5PartRandomSampleAttributes_CloseDown()
{
delete defaultAtts;
defaultAtts = 0;
delete H5PartRandomSampleAttributesObserver;
H5PartRandomSampleAttributesObserver = 0;
}
PyMethodDef *
PyH5PartRandomSampleAttributes_GetMethodTable(int *nMethods)
{
*nMethods = 1;
return H5PartRandomSampleAttributesMethods;
}
bool
PyH5PartRandomSampleAttributes_Check(PyObject *obj)
{
return (obj->ob_type == &H5PartRandomSampleAttributesType);
}
H5PartRandomSampleAttributes *
PyH5PartRandomSampleAttributes_FromPyObject(PyObject *obj)
{
H5PartRandomSampleAttributesObject *obj2 = (H5PartRandomSampleAttributesObject *)obj;
return obj2->data;
}
PyObject *
PyH5PartRandomSampleAttributes_NewPyObject()
{
return NewH5PartRandomSampleAttributes(0);
}
PyObject *
PyH5PartRandomSampleAttributes_WrapPyObject(const H5PartRandomSampleAttributes *attr)
{
return WrapH5PartRandomSampleAttributes(attr);
}
void
PyH5PartRandomSampleAttributes_SetDefaults(const H5PartRandomSampleAttributes *atts)
{
if(defaultAtts)
delete defaultAtts;
defaultAtts = new H5PartRandomSampleAttributes(*atts);
}