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

The default implementation of VoxelGrobShader. More...

#include <OGF/voxel_gfx/shaders/voxel_grob_shader.h>

Inheritance diagram for OGF::PlainVoxelGrobShader:
OGF::VoxelGrobShader OGF::Shader OGF::Node OGF::Object GEO::Counted

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 ColormapStyleget_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 EdgeStyleget_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...
 
Grobget_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.
 
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...
 

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
VoxelGrobvoxel_grob () const
 Gets the VoxelGrob. More...
 
- Protected Member Functions inherited from OGF::Shader
Texturecreate_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...
 
Texturecreate_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...
 
Grobgrob () 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 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...
 

Detailed Description

The default implementation of VoxelGrobShader.

Definition at line 122 of file voxel_grob_shader.h.

Constructor & Destructor Documentation

◆ PlainVoxelGrobShader()

OGF::PlainVoxelGrobShader::PlainVoxelGrobShader ( VoxelGrob grob)

PlainVoxelGrobShader constructor.

Parameters
[in]groba pointer to the VoxelGrob this shader is attached to

Member Function Documentation

◆ blink()

void OGF::PlainVoxelGrobShader::blink ( )
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.

◆ draw()

void OGF::PlainVoxelGrobShader::draw ( )
overridevirtual

Draws the Grob.

The Grob is the one that was passed to the constructor of this Shader.

Reimplemented from OGF::VoxelGrobShader.

◆ draw_volume()

void OGF::PlainVoxelGrobShader::draw_volume ( Texture colormap_texture,
double  attribute_min,
double  attribute_max,
index_t  repeat 
)
protected

Draws the volume as a textured hexahedron.

Parameters
[in]attribute_minthe value mapped to texture coordinate 0.0
[in]attribute_maxthe value mapped to texture coordinate 1.0
[in]repeatthe number of times the colormap is repeated.

◆ get_attribute()

const std::string& OGF::PlainVoxelGrobShader::get_attribute ( ) const
inline

Gets the name of the displayed attribute.

Returns
the name of the displayed attribute

Definition at line 212 of file voxel_grob_shader.h.

◆ get_attribute_max()

double OGF::PlainVoxelGrobShader::get_attribute_max ( ) const
inline

Gets the maximum of the displayed range for attribute values.

Returns
the maximum attribute value

Definition at line 196 of file voxel_grob_shader.h.

◆ get_attribute_min()

double OGF::PlainVoxelGrobShader::get_attribute_min ( ) const
inline

Gets the minimum of the displayed range for attribute values.

Returns
the minimum attribute value

Definition at line 177 of file voxel_grob_shader.h.

◆ get_box_style()

const EdgeStyle& OGF::PlainVoxelGrobShader::get_box_style ( ) const
inline

Gets the style used to draw the mesh in the facets and in the cells.

Returns
a const reference to the style that should be used to draw the mesh in the facets and in the cells.

Definition at line 291 of file voxel_grob_shader.h.

◆ get_clipping()

bool OGF::PlainVoxelGrobShader::get_clipping ( ) const
inline

Gets whether clipping should be used.

Return values
trueif clipping is used
falseotherwise

Definition at line 267 of file voxel_grob_shader.h.

◆ get_lighting()

bool OGF::PlainVoxelGrobShader::get_lighting ( ) const
inline

Gets whether lighting is used.

Return values
trueif lighting is used
falseotherwise

Definition at line 245 of file voxel_grob_shader.h.

◆ pick_object()

void OGF::PlainVoxelGrobShader::pick_object ( index_t  object_id)
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.

Parameters
[in]object_idall the pixels covered by the object will be assigned this value

Reimplemented from OGF::VoxelGrobShader.

◆ set_attribute()

void OGF::PlainVoxelGrobShader::set_attribute ( const std::string &  value)

Sets the name fo the attribute to be displayed.

Parameters
[in]valuethe name of the attribute to be displayed

◆ set_attribute_max()

void OGF::PlainVoxelGrobShader::set_attribute_max ( double  value)
inline

Sets the maximum of the displayed range for attribute values.

Parameters
[in]valuethe maximum attribute value

Definition at line 186 of file voxel_grob_shader.h.

◆ set_box_style()

void OGF::PlainVoxelGrobShader::set_box_style ( const EdgeStyle value)
inline

Sets the style used to draw the mesh in the facets and in the cells.

Parameters
[in]valuea 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.

◆ set_clipping()

void OGF::PlainVoxelGrobShader::set_clipping ( bool  value)
inline

Sets whether clipping should be active.

Parameters
[in]valuetrue if clipping should be used, false otherwise.

Definition at line 256 of file voxel_grob_shader.h.

◆ set_colormap()

void OGF::PlainVoxelGrobShader::set_colormap ( const ColormapStyle value)
inline

Sets the colormap used to display attributes.

Parameters
[in]valuethe name of the colormap

Definition at line 220 of file voxel_grob_shader.h.

◆ set_lighting()

void OGF::PlainVoxelGrobShader::set_lighting ( bool  value)
inline

Sets whether lighting should be used.

Parameters
[in]valuetrue if lighting is enabled, false otherwise

Definition at line 235 of file voxel_grob_shader.h.

◆ update()

OGF::PlainVoxelGrobShader::update ( )
virtual

Redraws the scene.

This function is called whenever the object changes or its shader attributes change.

Reimplemented from OGF::Shader.


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