Graphite
Version 3
An experimental 3D geometry processing program
|
The default implementation of VoxelGrobShader. More...
#include <OGF/voxel_gfx/shaders/voxel_grob_shader.h>
Public Member Functions | |
PlainVoxelGrobShader (VoxelGrob *grob) | |
PlainVoxelGrobShader constructor. More... | |
~PlainVoxelGrobShader () override | |
PlainVoxelGrobShader destructor. | |
void | draw () override |
Draws the Grob. 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... | |
public::public::void | autorange () |
Sets the displayed attribute range automatically. | |
update () | |
Redraws the scene. More... | |
double | get_attribute_min () const |
Gets the minimum of the displayed range for attribute values. More... | |
void | set_attribute_max (double value) |
Sets the maximum of the displayed range for attribute values. More... | |
double | get_attribute_max () const |
Gets the maximum of the displayed range for attribute values. More... | |
void | set_attribute (const std::string &value) |
Sets the name fo the attribute to be displayed. More... | |
const std::string & | get_attribute () const |
Gets the name of the displayed attribute. More... | |
void | set_colormap (const ColormapStyle &value) |
Sets the colormap used to display attributes. More... | |
const ColormapStyle & | get_colormap () const |
void | set_lighting (bool value) |
Sets whether lighting should be used. More... | |
bool | get_lighting () const |
Gets whether lighting is used. More... | |
void | set_clipping (bool value) |
Sets whether clipping should be active. More... | |
bool | get_clipping () const |
Gets whether clipping should be used. More... | |
void | set_box_style (const EdgeStyle &value) |
Sets the style used to draw the mesh in the facets and in the cells. More... | |
const EdgeStyle & | get_box_style () const |
Gets the style used to draw the mesh in the facets and in the cells. More... | |
Public Member Functions inherited from OGF::VoxelGrobShader | |
VoxelGrobShader (VoxelGrob *grob) | |
VoxelGrobShader constructor. More... | |
~VoxelGrobShader () override | |
VoxelGrobShader destructor. | |
public::std::string | get_displayable_attributes () const |
Public Member Functions inherited from OGF::Shader | |
Shader (Grob *grob) | |
Shader constructor. More... | |
~Shader () override | |
Shader destructor. | |
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__: void set_attribute_min(double value) { attribute_min_ = value | |
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 | |
void | draw_wireframe_box () |
Draws the bounding box in wireframe. | |
void | draw_volume (Texture *colormap_texture, double attribute_min, double attribute_max, index_t repeat) |
Draws the volume as a textured hexahedron. More... | |
void | create_textures_if_needed () |
Creates the colormap texture and the attribute texture if they do not exist. | |
Protected Member Functions inherited from OGF::VoxelGrobShader | |
VoxelGrob * | voxel_grob () const |
Gets the VoxelGrob. 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... | |
Protected Attributes | |
std::string | attribute_name_ |
double | attribute_min_ |
double | attribute_max_ |
ColormapStyle | colormap_style_ |
Texture_var | colormap_texture_ |
Texture_var | attribute_texture_ |
bool | lighting_ |
bool | clipping_ |
bool | picking_ |
EdgeStyle | box_style_ |
Protected Attributes inherited from OGF::Shader | |
bool | no_grob_update_ |
If true, then each shader update does not trigger a grob update. 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... | |
The default implementation of VoxelGrobShader.
Definition at line 122 of file voxel_grob_shader.h.
OGF::PlainVoxelGrobShader::PlainVoxelGrobShader | ( | VoxelGrob * | grob | ) |
PlainVoxelGrobShader constructor.
[in] | grob | a pointer to the VoxelGrob 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::VoxelGrobShader.
|
overridevirtual |
Draws the Grob.
The Grob is the one that was passed to the constructor of this Shader.
Reimplemented from OGF::VoxelGrobShader.
|
protected |
Draws the volume as a textured hexahedron.
[in] | attribute_min | the value mapped to texture coordinate 0.0 |
[in] | attribute_max | the value mapped to texture coordinate 1.0 |
[in] | repeat | the number of times the colormap is repeated. |
|
inline |
Gets the name of the displayed attribute.
Definition at line 212 of file voxel_grob_shader.h.
|
inline |
Gets the maximum of the displayed range for attribute values.
Definition at line 196 of file voxel_grob_shader.h.
|
inline |
Gets the minimum of the displayed range for attribute values.
Definition at line 177 of file voxel_grob_shader.h.
|
inline |
Gets the style used to draw the mesh in the facets and in the cells.
Definition at line 291 of file voxel_grob_shader.h.
|
inline |
Gets whether clipping should be used.
true | if clipping is used |
false | otherwise |
Definition at line 267 of file voxel_grob_shader.h.
|
inline |
Gets whether lighting is used.
true | if lighting is used |
false | otherwise |
Definition at line 245 of file voxel_grob_shader.h.
|
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 |
Reimplemented from OGF::VoxelGrobShader.
void OGF::PlainVoxelGrobShader::set_attribute | ( | const std::string & | value | ) |
Sets the name fo the attribute to be displayed.
[in] | value | the name of the attribute to be displayed |
|
inline |
Sets the maximum of the displayed range for attribute values.
[in] | value | the maximum attribute value |
Definition at line 186 of file voxel_grob_shader.h.
|
inline |
Sets the style used to draw the mesh in the facets and in the cells.
[in] | value | a const reference to the style that should be used to draw the mesh in the facets and in the cells. |
Definition at line 279 of file voxel_grob_shader.h.
|
inline |
Sets whether clipping should be active.
[in] | value | true if clipping should be used, false otherwise. |
Definition at line 256 of file voxel_grob_shader.h.
|
inline |
Sets the colormap used to display attributes.
[in] | value | the name of the colormap |
Definition at line 220 of file voxel_grob_shader.h.
|
inline |
Sets whether lighting should be used.
[in] | value | true if lighting is enabled, false otherwise |
Definition at line 235 of file voxel_grob_shader.h.
|
virtual |
Redraws the scene.
This function is called whenever the object changes or its shader attributes change.
Reimplemented from OGF::Shader.