Graphite  Version 3
An experimental 3D geometry processing program
OGF::LuaGrob Class Reference

A Grob class for luagrob grids. More...

#include <OGF/luagrob/grob/lua_grob.h>

Inheritance diagram for OGF::LuaGrob:
OGF::Grob OGF::Node OGF::Object GEO::Counted

Public Member Functions

 LuaGrob (CompositeGrob *parent)
 LuaGrob constructor. More...
 
 ~LuaGrob () override
 LuaGrob destructor.
 
bool shader_OK () const
 Tests the status of the loaded LUA program. More...
 
void set_autorun (bool x)
 Sets whether the source should be executed automatically when the object is loaded. More...
 
void set_source (const std::string &source)
 Sets the source of the LUA program. More...
 
const std::string & get_source () const
 Gets the source of the LUA program. More...
 
void set_shader_source (const std::string &source)
 Sets the source of the LUA shader program and executes it. More...
 
const std::string & get_shader_source () const
 Gets the source of the LUA shader program. More...
 
bool execute_shader_command (const std::string &value)
 Executes a LUA command in the interpreter used for the shader. More...
 
void execute_shader_program ()
 Executes the loaded LUA shader program.
 
void load_program_source (const std::string &value)
 Loads the LUA program from a file. More...
 
void save_program_source (const std::string &value)
 Saves the LUA program to a file. More...
 
void load_shader_source (const std::string &value)
 Loads the LUA shader program from a file. More...
 
void save_shader_source (const std::string &value)
 Saves the LUA shader program to a file. More...
 
void set_box (const Box3d &box)
 Sets the bounding box. More...
 
void clear () override
 Clears this Grob. More...
 
Grobduplicate (SceneGraph *sg) override
 Duplicates this Grob. More...
 
bool is_serializable () const override
 Tests whether this Grob can be serialized in GeoFile. More...
 
bool serialize_read (InputGraphiteFile &geofile) override
 Reads this Grob from a GeoFile. More...
 
bool serialize_write (OutputGraphiteFile &geofile) override
 Writes this Grob into a stream. More...
 
void update () override
 
Box3d bbox () const override
 Gets the bounding box. More...
 
- Public Member Functions inherited from OGF::Grob
 Grob (CompositeGrob *parent)
 Grob constructor. More...
 
 ~Grob () override
 Grob destructor.
 
const std::string & name () const
 Gets the name of this Grob. More...
 
virtual Box3d world_bbox () const
 Gets the bounding box in world coordinates. More...
 
void set_shader (const std::string &value)
 Changes the current shader of this Grob. More...
 
void get_shader_and_shader_properties (std::string &classname, ArgList &properties, bool pointers=true)
 Gets the classname of the shader and its properties. More...
 
void set_shader_and_shader_properties (const std::string &classname, const ArgList &properties)
 Sets the shader and its properties. More...
 
ArgListattributes ()
 Gets the attributes associated with this Grob. More...
 
const ArgListattributes () const
 Gets the attributes associated with this Grob. More...
 
bool dirty () const
 Gets the dirty flag. More...
 
void up_to_date ()
 Tests whether this object is up to date. More...
 
bool graphics_are_locked () const
 Tests whether this VoxelGrob is locked for graphics display. More...
 
void lock_graphics ()
 Locks graphics for this VoxelGrob. More...
 
void unlock_graphics ()
 Unlocks graphics for this VoxelGrob. More...
 
virtual Interpreterinterpreter ()
 Gets a pointer to the main Interpreter. More...
 
virtual void redraw ()
 Triggers update events and redraws the scene. More...
 
SceneGraphscene_graph () const
 Gets the SceneGraph. More...
 
virtual bool load (const FileName &value)
 Replaces this Grob with the contents of a file. More...
 
virtual bool save (const NewFileName &value)
 Saves this Grob to a file. More...
 
virtual bool append (const FileName &value)
 Appends the content of the specified file to this Grob. More...
 
virtual void rename (const std::string &value)
 Renames this Grob. More...
 
virtual Objectquery_interface (const std::string &name)
 Creates an Interface object connected to this Grob. More...
 
index_t nb_grob_attributes () const
 gets the number of grob attributes More...
 
const std::string & ith_grob_attribute_name (index_t i) const
 gets the name of a grob attribute More...
 
std::string ith_grob_attribute_value (index_t i) const
 gets the value of a grob attribute More...
 
void set_grob_attribute (const std::string &name, const std::string &value)
 sets the value of a grob attribute More...
 
void set_filename (const std::string &value)
 Sets the name of this Grob. More...
 
const std::string & get_filename () const
 Gets the filename of this Grob. More...
 
bool get_visible () const
 Tests whether this Grob is visible. More...
 
void set_visible (bool value)
 Sets the visibility flag of this Grob. More...
 
Objectget_shader () const
 Gets the shader associated with this Grob. More...
 
Objectget_shader_manager () const
 Gets the ShaderManager associated with this Grob. More...
 
void set_obj_to_world_transform (const mat4 &value)
 Sets the object to world transform. More...
 
const mat4get_obj_to_world_transform () const
 Gets the object to world transform. More...
 
- Public Member Functions inherited from OGF::Node
 Node (Node *parent=nullptr)
 Node constructor. More...
 
virtual ~Node ()
 Node destructor.
 
virtual void add_child (Node *child)
 Adds a child to this Node. More...
 
virtual void remove_child (Node *child)
 Removes a child from this Node. \parma[in] child a pointer to the child to be removed.
 
Nodeget_parent () const
 Gets the parent. More...
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor. More...
 
virtual ~Object ()
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class. More...
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class. More...
 
unsigned int id () const
 Gets the identifier of this object. More...
 
std::string string_id () const
 Gets the unique string identifier. More...
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined. More...
 
virtual bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val)
 Invokes a method by method name and argument list, and gets the return value. More...
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list. More...
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name. More...
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined. More...
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property. More...
 
virtual Connectionconnect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name)
 Connects a signal with a slot of another object. More...
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object. More...
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object. More...
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index. More...
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index. More...
 
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring. More...
 
bool get_signals_enabled () const
 Tests wheter signals are enabled. More...
 
void set_signals_enabled (bool value)
 Enables or disables signals. More...
 
bool get_slots_enabled () const
 Tests wheter slots are enabled. More...
 
void set_slots_enabled (bool value)
 Enables or disables slots. More...
 
MetaClassget_meta_class () const
 Gets the meta class. More...
 
std::string get_string_id () const
 Gets the unique string identifier. More...
 
virtual std::string get_doc () const
 Gets the documentation. More...
 
virtual Sign compare (const Object *other) const
 Compares this object with another one. More...
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type. More...
 
void disconnect ()
 Removes all connections from signals of this objects. More...
 
void enable_signals ()
 Enables signals.
 
void disable_signals ()
 Disables signals.
 
void enable_slots ()
 Enables slots.
 
void disable_slots ()
 Disables slots.
 
void set_properties (const ArgList &args)
 Sets several properties in a single call. More...
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property. More...
 
void help () const
 Displays some help about this object. More...
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property. More...
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property. More...
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count. More...
 
void unref () const
 Decrements the reference count. More...
 
bool is_shared () const
 Check if the object is shared. More...
 
int nb_refs () const
 Gets the number of references that point to this object. More...
 

Static Public Member Functions

static LuaGrobfind_or_create (SceneGraph *sg, const std::string &name)
 Finds or creates a LuaGrob with the specified name. More...
 
static LuaGrobfind (SceneGraph *sg, const std::string &name)
 Finds a LuaGrob by name. More...
 
- Static Public Member Functions inherited from OGF::Grob
static Grobfind (SceneGraph *sg, const std::string &name)
 Finds a Grob by name. More...
 
- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id. More...
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count. More...
 
static void unref (const Counted *counted)
 Decrements the reference count. More...
 

Public Attributes

 __pad0__: bool get_autorun() const { return autorun_
 
 __pad1__: void execute_program()
 
- Public Attributes inherited from OGF::Grob
 __pad0__: virtual void update()
 
gom_signals __pad1__: virtual void value_changed(Grob* value)
 
 __pad2__: const std::string& get_name() const { return name_
 
- Public Attributes inherited from OGF::Node
 __pad0__: Node* ith_child(index_t i) const { ogf_assert(i < get_nb_children())
 
return children_ [i]
 
 __pad1__: size_t get_nb_children() const { return children_.size()
 
- Public Attributes inherited from OGF::Object
 __pad0__: virtual index_t get_nb_elements() const
 
 __pad1__: bool equals(const Object* other) const
 

Additional Inherited Members

- Protected Member Functions inherited from OGF::Grob
void initialize_name (const std::string &name)
 Initializes the name of this Grob. More...
 
void set_shader_manager (Object *s)
 Sets the ShaderManager associated with this Grob. More...
 
- Protected Member Functions inherited from OGF::Node
void swap_children (Node *n1, Node *n2)
 Swaps two children by indices. More...
 
- Protected Member Functions inherited from OGF::Object
virtual bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false)
 Emits a signal and calls the slots it is connected to. More...
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object. More...
 
virtual ~Counted ()
 Destroys a reference counted object. More...
 
- Protected Attributes inherited from OGF::Grob
std::string name_
 
std::string filename_
 
bool visible_
 
SceneGraphscene_graph_
 
mat4 obj_to_world_
 
Object_var shader_manager_
 
ArgList grob_attributes_
 
bool dirty_
 
index_t nb_graphics_locks_
 

Detailed Description

A Grob class for luagrob grids.

Definition at line 63 of file lua_grob.h.

Constructor & Destructor Documentation

◆ LuaGrob()

OGF::LuaGrob::LuaGrob ( CompositeGrob parent)

LuaGrob constructor.

Parameters
[in]parenta pointer to the container (the scenegraph in most cases).

Member Function Documentation

◆ bbox()

Box3d OGF::LuaGrob::bbox ( ) const
overridevirtual

Gets the bounding box.

Returns
the bounding box

Implements OGF::Grob.

◆ clear()

void OGF::LuaGrob::clear ( )
overridevirtual

Clears this Grob.

Reimplemented from OGF::Grob.

◆ duplicate()

Grob* OGF::LuaGrob::duplicate ( SceneGraph sg)
overridevirtual

Duplicates this Grob.

The newly created Grob has the same name as the current one, with "_copy" appended.

Reimplemented from OGF::Grob.

◆ execute_shader_command()

bool OGF::LuaGrob::execute_shader_command ( const std::string &  value)

Executes a LUA command in the interpreter used for the shader.

Parameters
[in]valuethe command.

◆ find()

static LuaGrob* OGF::LuaGrob::find ( SceneGraph sg,
const std::string &  name 
)
static

Finds a LuaGrob by name.

Parameters
[in]sga pointer to the SceneGraph
[in]namethe name
Returns
a pointer to the LuaGrob named as name in the SceneGraph sg if it exists, or nil otherwise.

◆ find_or_create()

static LuaGrob* OGF::LuaGrob::find_or_create ( SceneGraph sg,
const std::string &  name 
)
static

Finds or creates a LuaGrob with the specified name.

Parameters
[in]sga pointer to the SceneGraph
[in]namethe name
Returns
a pointer to the LuaGrob named as name in the SceneGraph sg if it exists, or a newly created LuaGrob otherwise.

◆ get_shader_source()

const std::string& OGF::LuaGrob::get_shader_source ( ) const
inline

Gets the source of the LUA shader program.

Returns
the LUA source.

Definition at line 139 of file lua_grob.h.

◆ get_source()

const std::string& OGF::LuaGrob::get_source ( ) const
inline

Gets the source of the LUA program.

Returns
the LUA source.

Definition at line 121 of file lua_grob.h.

◆ is_serializable()

bool OGF::LuaGrob::is_serializable ( ) const
overridevirtual

Tests whether this Grob can be serialized in GeoFile.

Return values
trueif this Grob is serializable
falseotherwise
See also
serialize_read(), serialize_write()

Reimplemented from OGF::Grob.

◆ load_program_source()

void OGF::LuaGrob::load_program_source ( const std::string &  value)

Loads the LUA program from a file.

Parameters
[in]valuethe filename.

◆ load_shader_source()

void OGF::LuaGrob::load_shader_source ( const std::string &  value)

Loads the LUA shader program from a file.

Parameters
[in]valuethe filename.

◆ save_program_source()

void OGF::LuaGrob::save_program_source ( const std::string &  value)

Saves the LUA program to a file.

Parameters
[in]valuethe filename.

◆ save_shader_source()

void OGF::LuaGrob::save_shader_source ( const std::string &  value)

Saves the LUA shader program to a file.

Parameters
[in]valuethe filename.

◆ serialize_read()

bool OGF::LuaGrob::serialize_read ( InputGraphiteFile geofile)
overridevirtual

Reads this Grob from a GeoFile.

Parameters
[in,out]geofilethe input GeoFile
Return values
trueif the Grob could be successfully read
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ serialize_write()

bool OGF::LuaGrob::serialize_write ( OutputGraphiteFile geofile)
overridevirtual

Writes this Grob into a stream.

Parameters
[in,out]geofilethe output GeoFile The file extension determines the file format used to write the object.
Return values
trueif the Grob could be successfully written
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ set_autorun()

void OGF::LuaGrob::set_autorun ( bool  x)
inline

Sets whether the source should be executed automatically when the object is loaded.

Parameters
[in]xtrue if the source should be executed automatically, false otherwise.

Definition at line 105 of file lua_grob.h.

◆ set_box()

void OGF::LuaGrob::set_box ( const Box3d box)

Sets the bounding box.

Parameters
[in]boxthe new box

◆ set_shader_source()

void OGF::LuaGrob::set_shader_source ( const std::string &  source)
inline

Sets the source of the LUA shader program and executes it.

Parameters
[in]sourcethe LUA source.

Definition at line 130 of file lua_grob.h.

◆ set_source()

void OGF::LuaGrob::set_source ( const std::string &  source)
inline

Sets the source of the LUA program.

Parameters
[in]sourcethe LUA source.

Definition at line 113 of file lua_grob.h.

◆ shader_OK()

bool OGF::LuaGrob::shader_OK ( ) const
inline

Tests the status of the loaded LUA program.

Return values
trueif program is OK
falseif error occured

Definition at line 82 of file lua_grob.h.

◆ update()

void OGF::LuaGrob::update ( )
override


The documentation for this class was generated from the following file: