Graphite
Version 3
An experimental 3D geometry processing program
|
Base class for drawing and picking MeshGrob. More...
#include <OGF/mesh_gfx/shaders/mesh_grob_shader.h>
Public Member Functions | |
MeshGrobShader (MeshGrob *grob) | |
MeshGrobShader constructor. More... | |
~MeshGrobShader () override | |
MeshGrobShader destructor. | |
void | draw () override |
Draws the Grob. More... | |
virtual void | pick (MeshElementsFlags what) |
Picks an element of a mesh. More... | |
void | pick_object (index_t object_id) override |
Draws the Grob in picking mode. More... | |
void | blink () override |
Draws the current object several times, while chaning the value of one graphic attribute (e.g. mesh on/off), to draw attentin towards it. More... | |
virtual void | show_vertices () |
Makes vertices visible and triggers a drawing event. | |
virtual void | hide_vertices () |
Makes vertices invisible and triggers a drawing event. | |
virtual void | show_vertices_selection () |
Makes vertices selection visible and triggers a drawing event. | |
virtual void | hide_vertices_selection () |
Makes vertices selection invisible and triggers a drawing event. | |
virtual void | show_mesh () |
Makes the mesh visible and triggers a drawing event. | |
virtual void | hide_mesh () |
Makes the mesh invisible and triggers a drawing event. | |
virtual void | show_borders () |
Makes surface borders visible and triggers a drawing event. | |
virtual void | hide_borders () |
Makes surface borders invisible and triggers a drawing event. | |
bool | get_has_facets () const |
Tests whether the MeshGrob attached to this shader has facets. More... | |
bool | get_has_cells () const |
Tests whether the MeshGrob attached to this shader has cells. More... | |
bool | get_is_hybrid () const |
Tests whether the MeshGrob attached to this shader is a volumetric hybrid mesh. More... | |
bool | get_has_time () const |
Tests whether the MeshGrob attached to this shader stores a time evolution. More... | |
bool | get_has_vertices_selection () const |
bool | get_has_weird_cells () const |
std::string | get_scalar_attributes () const |
std::string | get_vector_attributes () const |
Public Member Functions inherited from OGF::Shader | |
Shader (Grob *grob) | |
Shader constructor. More... | |
~Shader () override | |
Shader destructor. | |
virtual void | update () |
Redraws the scene. More... | |
bool | get_multi () const |
Tests whether multi shader mode is active. More... | |
Grob * | get_grob () const |
Gets the grob. More... | |
GLdouble * | latest_modelview () |
GLdouble * | latest_project () |
GLint * | latest_viewport () |
bool | dark_mode () const |
Tests whether dark mode is set. 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. | |
Node * | get_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 MetaClass * | meta_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 Connection * | connect_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... | |
MetaClass * | get_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... | |
Public Attributes | |
__pad0__: bool get_has_edges() const { return mesh_grob() != nullptr && mesh_grob()->edges.nb() != 0 | |
Public Attributes inherited from OGF::Shader | |
__pad0__: void set_multi(bool value) | |
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 | |
Protected Member Functions | |
MeshGrob * | mesh_grob () const |
Gets the MeshGrob. More... | |
Protected Member Functions inherited from OGF::Shader | |
Texture * | create_texture_from_file (const std::string &file_name, GLint filtering=GL_LINEAR, GLint wrapping=GL_CLAMP_TO_EDGE) |
Creates a texture from an image file. More... | |
Texture * | create_texture_from_colormap_name (const std::string &name, GLint filtering=GL_LINEAR, GLint wrapping=GL_CLAMP_TO_EDGE) |
Creates a texture from a colormap by name. More... | |
Grob * | grob () const |
Gets the 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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from OGF::Object | |
static Object * | id_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... | |
Protected Attributes inherited from OGF::Shader | |
bool | no_grob_update_ |
If true, then each shader update does not trigger a grob update. More... | |
Base class for drawing and picking MeshGrob.
Definition at line 76 of file mesh_grob_shader.h.
OGF::MeshGrobShader::MeshGrobShader | ( | MeshGrob * | grob | ) |
MeshGrobShader constructor.
[in] | grob | a pointer to the MeshGrob this shader is attached to |
|
overridevirtual |
Draws the current object several times, while chaning the value of one graphic attribute (e.g. mesh on/off), to draw attentin towards it.
This function is used if object highlighting is activated.
Reimplemented from OGF::Shader.
Reimplemented in OGF::PlainMeshGrobShader.
|
overridevirtual |
Draws the Grob.
The Grob is the one that was passed to the constructor of this Shader.
Reimplemented from OGF::Shader.
Reimplemented in OGF::PDBMeshGrobShader, OGF::ParamMeshGrobShader, OGF::ExplodedViewMeshGrobShader, and OGF::PlainMeshGrobShader.
|
inline |
Tests whether the MeshGrob attached to this shader has cells.
This is used by the GUI that makes some widgets visible only if the mesh has the corresponding elements.
true | if the mesh has cells |
false | otherwise |
Definition at line 189 of file mesh_grob_shader.h.
|
inline |
Tests whether the MeshGrob attached to this shader has facets.
This is used by the GUI that makes some widgets visible only if the mesh has the corresponding elements.
true | if the mesh has facets |
false | otherwise |
Definition at line 176 of file mesh_grob_shader.h.
|
inline |
Tests whether the MeshGrob attached to this shader stores a time evolution.
Time evolution can be stored as 6d coordinates (coordinates 4,5,6 correspond to location at final time). This is used by the GUI that makes some widgets visible only if the mesh has the corresponding elements.
true | if the mesh stores a time evolution |
false | otherwise |
Definition at line 220 of file mesh_grob_shader.h.
|
inline |
Tests whether the MeshGrob attached to this shader is a volumetric hybrid mesh.
This is used by the GUI that makes some widgets visible only if the mesh has the corresponding elements.
true | if the mesh is a volumetric hybrid mesh |
false | otherwise |
Definition at line 203 of file mesh_grob_shader.h.
|
inlineprotected |
Gets the MeshGrob.
Definition at line 258 of file mesh_grob_shader.h.
|
virtual |
Picks an element of a mesh.
[in] | what | the type of mesh element to be picked. |
Base class implementation does nothing.
Reimplemented in OGF::PlainMeshGrobShader.
|
overridevirtual |
Draws the Grob in picking mode.
In picking mode, drawing is replaced by filling the pixel values with 32 bits ids, while ZBuffer is still activated. Thus, after drawing the whole scene, one can find for a given pixel which object is visible by reading the 32 bit id encoded in the pixel color.
[in] | object_id | all the pixels covered by the object will be assigned this value |
Base class implementation does nothing.
Implements OGF::Shader.
Reimplemented in OGF::PlainMeshGrobShader.