/******************************************************************************
* Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
*****************************************************************************/
#ifndef MY_CLASS_H
#define MY_CLASS_H
#include <mi/neuraylib.h>
#include "imy_class.h"
// The implementation of the IMy_class interface
class My_class : public
mi::neuraylib::User_class<0x0650d689,0xef50,0x433f,0xb3,0xae,0xae,0x83,0xa9,0xf2,0xf2,0xa6,
IMy_class>
{
public:
// Constructor
My_class() { m_foo = 0; }
// Destructor
~My_class() { }
// Sets property foo
void set_foo( mi::Sint32 foo) { m_foo = foo; }
// Gets property foo
mi::Sint32 get_foo() const { return m_foo; }
// Serializes an instance of My_class
void serialize( mi::neuraylib::ISerializer* serializer) const
{
serializer->write( &m_foo);
}
// Deserializes an instance of My_class
void deserialize( mi::neuraylib::IDeserializer* deserializer)
{
deserializer->read( &m_foo);
}
// Creates a copy of the object
mi::neuraylib::IUser_class* copy () const
{
My_class* copy = new My_class( *this);
return copy;
}
// Returns a human readable class name
const char* get_class_name() const
{
return "My_class";
}
// Returns the list of elements referenced by this elements, none in this example.
mi::IArray* get_references( mi::neuraylib::ITransaction* /*transaction*/) const
{
return 0;
}
private:
// Member to realize property foo
mi::Sint32 m_foo;
};
#endif // MY_CLASS_H