Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
OGF::PlainMeshGrobShader Class Reference

The default implementation of MeshGrobShader. More...

#include <OGF/mesh_gfx/shaders/mesh_grob_shader.h>

Inheritance diagram for OGF::PlainMeshGrobShader:
OGF::MeshGrobShader OGF::Shader OGF::Node OGF::Object GEO::Counted OGF::ExplodedViewMeshGrobShader

Public Member Functions

 PlainMeshGrobShader (MeshGrob *grob)
 PlainMeshGrobShader constructor.
 
 ~PlainMeshGrobShader () override
 PlainMeshGrobShader destructor.
 
void draw () override
 Draws the Grob.
 
void pick (MeshElementsFlags what) override
 Picks an element of a mesh.
 
void pick_object (index_t object_id) override
 Draws the Grob in picking mode.
 
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.
 
void show_vertices () override
 Makes vertices visible and triggers a drawing event.
 
void hide_vertices () override
 Makes vertices invisible and triggers a drawing event.
 
void show_vertices_selection () override
 Makes vertices selection visible and triggers a drawing event.
 
void hide_vertices_selection () override
 Makes vertices selection invisible and triggers a drawing event.
 
void show_mesh () override
 Makes the mesh visible and triggers a drawing event.
 
void hide_mesh () override
 Makes the mesh invisible and triggers a drawing event.
 
void show_borders () override
 Makes surface borders visible and triggers a drawing event.
 
void hide_borders () override
 Makes surface borders invisible and triggers a drawing event.
 
void set_time_smooth (double x)
 Sets the time with a floating point parameter.
 
double get_time_smooth () const
 Gets the time as floating point parameter.
 
PaintingMode get_painting () const
 Gets painting mode.
 
void set_attribute_min (double value)
 Sets the minimum of the displayed range for attribute values.
 
double get_attribute_min () const
 Gets the minimum of the displayed range for attribute values.
 
void set_attribute_max (double value)
 Sets the maximum of the displayed range for attribute values.
 
double get_attribute_max () const
 Gets the maximum of the displayed range for attribute values.
 
void set_attribute (const std::string &value)
 Sets the name fo the attribute to be displayed.
 
const std::string & get_attribute () const
 Gets the name of the displayed attribute.
 
void set_colormap (const ColormapStyle &value)
 Sets the colormap used to display attributes.
 
const ColormapStyleget_colormap () const
 
bool get_texturing () const
 Tests whether texturing is active.
 
bool get_coloring () const
 Tests whether coloring is active.
 
void set_tex_image (const ImageFileName &value)
 Sets the image used for texturing.
 
const ImageFileNameget_tex_image () const
 Gets the image used for texturing.
 
void set_tex_coords (const std::string &value)
 Sets the name fo the attribute to be displayed.
 
const std::string & get_tex_coords () const
 Gets the name of the displayed attribute.
 
void set_colors (const std::string &value)
 Sets the name fo the color attribute to be displayed.
 
const std::string & get_colors () const
 Gets the name of the displayed attribute.
 
void set_tex_repeat (index_t value)
 Sets the texture repeat factor.
 
index_t get_tex_repeat () const
 Gets the texture repeat factor.
 
void set_normal_map (bool value)
 Sets normal mapping mode.
 
bool get_normal_map () const
 Gets normal mapping mode.
 
void set_lighting (bool value)
 Sets whether lighting should be used.
 
bool get_lighting () const
 Gets whether lighting is used.
 
void set_clipping (bool value)
 Sets whether clipping should be active.
 
bool get_clipping () const
 Gets whether clipping should be used.
 
void set_surface_style (const SurfaceStyle &value)
 Sets surface drawing style.
 
const SurfaceStyleget_surface_style () const
 Gets the current surface drawing style.
 
void set_facets_filter (bool value)
 Sets facet filtering.
 
bool get_facets_filter () const
 
void set_culling_mode (const CullingMode value)
 Sets culling mode;.
 
CullingMode get_culling_mode () const
 Gets the current culling mode.
 
void set_specular (index_t x)
 Sets the current surface specular factor.
 
index_t get_specular () const
 Gets the current surface specular factor.
 
void set_two_sided (bool value)
 Sets whether different colors should be used for inside/outside.
 
bool get_two_sided () const
 Tests whether different colors are used for inside/outside.
 
void set_volume_style (const SurfaceStyle &value)
 Sets the style of the volumetric cells.
 
const SurfaceStyleget_volume_style () const
 Gets the style used to draw the volumetric cells.
 
void set_cells_filter (bool value)
 Sets cells filtering.
 
bool get_cells_filter () const
 
void set_colored_cells (bool value)
 Sets whether volumetric cells should be colored by type.
 
bool get_colored_cells () const
 Tests whether volumetric cells are colored by type.
 
void set_tets (bool value)
 Sets whether tetrahedra should be displayed.
 
bool get_tets () const
 Tests whether tetrahedra are displayed.
 
void set_hexes (bool value)
 Sets whether hexahedra should be displayed.
 
bool get_hexes () const
 Tests whether hexahedra are displayed.
 
void set_prisms (bool value)
 Sets whether prisms should be displayed.
 
bool get_prisms () const
 Tests whether prisms are displayed.
 
void set_pyramids (bool value)
 Sets whether pyramids should be displayed.
 
bool get_pyramids () const
 Tests whether pyramids are displayed.
 
void set_connectors (bool value)
 Sets whether connectors should be displayed.
 
bool get_connectors () const
 Tests whether connectors are displayed.
 
void set_edges_style (const EdgeStyle &value)
 Sets the style used to draw the edges.
 
const EdgeStyleget_edges_style () const
 Gets the style used to draw the edges.
 
void set_mesh_style (const EdgeStyle &value)
 Sets the style used to draw the mesh in the facets and in the cells.
 
const EdgeStyleget_mesh_style () const
 Gets the style used to draw the mesh in the facets and in the cells.
 
void set_border_style (const EdgeStyle &value)
 Sets the style used to draw the border of the surface.
 
const EdgeStyleget_border_style () const
 Gets the style used to draw the border of the surface.
 
void set_vertices_style (const PointStyle &value)
 Sets the style used to draw the vertices.
 
const PointStyleget_vertices_style () const
 Gets the style used to draw the vertices.
 
void set_vertices_filter (bool value)
 Sets vertices filtering.
 
bool get_vertices_filter () const
 
 update ()
 Redraws the scene.
 
const PointStyleget_vert_select_style () const
 Gets the vertices selection style.
 
void set_shrink (index_t value)
 Sets the shrinking coefficient of the volumetric cells.
 
index_t get_shrink () const
 Gets the shrinking coefficient of the volumetric cells.
 
void set_animate (bool value)
 Sets whether time interpolation should be used.
 
bool get_animate () const
 Tests whether time interpolation should be used.
 
void set_time (index_t value)
 Sets the time parameter used for time interpolation.
 
index_t get_time () const
 Gets the time parameter used for time interpolation.
 
void set_slivers (double value)
 
double get_slivers () const
 
void set_weird_cells (bool x)
 
bool get_weird_cells () const
 
bool get_glsl_source_visible () const
 
void set_glsl_source (const std::string &value)
 
const std::string & get_glsl_source () const
 
void set_transparency (Transparency x) override
 Transparent rendering mode.
 
- Public Member Functions inherited from OGF::MeshGrobShader
 MeshGrobShader (MeshGrob *grob)
 MeshGrobShader constructor.
 
 ~MeshGrobShader () override
 MeshGrobShader destructor.
 
bool get_has_facets () const
 Tests whether the MeshGrob attached to this shader has facets.
 
bool get_has_cells () const
 Tests whether the MeshGrob attached to this shader has cells.
 
bool get_is_hybrid () const
 Tests whether the MeshGrob attached to this shader is a volumetric hybrid mesh.
 
bool get_has_time () const
 Tests whether the MeshGrob attached to this shader stores a time evolution.
 
bool get_has_vertices_selection () const
 
bool get_has_weird_cells () const
 
std::string get_scalar_attributes () const
 
std::string get_vector_attributes () const
 
bool get_has_vertices_filter () const
 
bool get_has_facets_filter () const
 
bool get_has_cells_filter () const
 
- Public Member Functions inherited from OGF::Shader
 Shader (Grob *grob)
 Shader constructor.
 
 ~Shader () override
 Shader destructor.
 
Transparency get_transparency () const
 
GLdouble * latest_modelview ()
 
GLdouble * latest_project ()
 
GLint * latest_viewport ()
 
bool dark_mode () const
 Tests whether dark mode is set.
 
bool set_property (const std::string &name, const Any &value) override
 Sets an individual property.
 
- Public Member Functions inherited from OGF::Node
 Node (Node *parent=nullptr)
 Node constructor.
 
 ~Node () override
 Node destructor.
 
virtual void add_child (Node *child)
 Adds a child to this Node.
 
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.
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor.
 
 ~Object () override
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class.
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class.
 
Numeric::uint32 id () const
 Gets the identifier of this object.
 
std::string string_id () const
 Gets the unique string identifier.
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined.
 
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.
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list.
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name.
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined.
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property.
 
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.
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object.
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object.
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index.
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index.
 
void get_element (index_t item, index_t component, Any &value) const
 Gets an element by item and component.
 
void set_element (index_t item, index_t component, const Any &value)
 Sets an element by item and component.
 
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring.
 
virtual index_t get_dimension () const
 Gets the number of elements per item.
 
bool get_signals_enabled () const
 Tests wheter signals are enabled.
 
void set_signals_enabled (bool value)
 Enables or disables signals.
 
bool get_slots_enabled () const
 Tests wheter slots are enabled.
 
void set_slots_enabled (bool value)
 Enables or disables slots.
 
MetaClassget_meta_class () const
 Gets the meta class.
 
std::string get_string_id () const
 Gets the unique string identifier.
 
virtual std::string get_doc () const
 Gets the documentation.
 
virtual Sign compare (const Object *other) const
 Compares this object with another one.
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type.
 
void disconnect ()
 Removes all connections from signals of this objects.
 
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.
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property.
 
void help () const
 Displays some help about this object.
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property.
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count.
 
void unref () const
 Decrements the reference count.
 
bool is_shared () const
 Check if the object is shared.
 
int nb_refs () const
 Gets the number of references that point to this object.
 

Public Attributes

 : bool get_attributes() const { return (painting_mode_ == ATTRIBUTE)
 
 : void autorange()
 
 : void set_painting(PaintingMode value)
 
 : void set_vert_select_style(const PointStyle& value) { vertices_selection_style_ = value
 
- Public Attributes inherited from OGF::MeshGrobShader
 : bool get_has_edges() const { return mesh_grob() != nullptr && mesh_grob()->edges.nb() != 0
 
- Public Attributes inherited from OGF::Shader
 : Grob* get_grob() const { return grob()
 
- Public Attributes inherited from OGF::Node
 : Node* ith_child(index_t i) const { ogf_assert(i < get_nb_children())
 
return children_ [i]
 
 : size_t get_nb_children() const { return children_.size()
 
- Public Attributes inherited from OGF::Object
 : virtual index_t get_nb_elements() const
 
 : bool equals(const Object* other) const
 

Protected Member Functions

void draw_slivers ()
 
void draw_weird_cells ()
 
void draw_surface_with_glsl_shader ()
 
void update_glsl_program ()
 
- Protected Member Functions inherited from OGF::MeshGrobShader
MeshGrobmesh_grob () const
 Gets the MeshGrob.
 
- 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.
 
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.
 
Grobgrob () const
 Gets the Grob.
 
- Protected Member Functions inherited from OGF::Node
void swap_children (Node *n1, Node *n2)
 Swaps two children.
 
void move_child_to_top (Node *n)
 Makes a child the first element in the list.
 
void move_child_to_bottom (Node *n)
 Makes a child the last element in the list.
 
void set_ith_child (index_t i, Node *n)
 Replaces a child.
 
- Protected Member Functions inherited from OGF::Object
virtual bool set_property_and_record_to_history (const std::string &name, const Any &value, Interpreter *interpreter)
 Sets an individual property and record modification to history.
 
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.
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object.
 
virtual ~Counted ()
 Destroys a reference counted object.
 

Protected Attributes

GEO::MeshGfx gfx_
 
PaintingMode painting_mode_
 
std::string attribute_
 
MeshElementsFlags attribute_subelements_
 
std::string attribute_name_
 
double attribute_min_
 
double attribute_max_
 
ColormapStyle colormap_style_
 
Texture_var colormap_texture_
 
MeshElementsFlags tex_coord_subelements_
 
std::string tex_coord_attribute_
 
std::string tex_coord_name_
 
index_t tex_coord_repeat_
 
bool tex_normal_mapping_
 
Texture_var texture_
 
ImageFileName texture_filename_
 
SurfaceStyle surface_style_
 
bool facets_filter_
 
CullingMode culling_mode_
 
index_t specular_
 
bool two_sided_
 
SurfaceStyle volume_style_
 
bool cells_filter_
 
bool colored_cells_
 
bool tets_
 
bool hexes_
 
bool prisms_
 
bool pyramids_
 
bool connectors_
 
index_t shrink_
 
EdgeStyle edges_style_
 
EdgeStyle mesh_style_
 
EdgeStyle border_style_
 
PointStyle vertices_style_
 
bool vertices_filter_
 
PointStyle vertices_selection_style_
 
bool animate_
 
double time_
 
bool picking_
 
double slivers_
 
bool weird_cells_
 
bool clipping_
 
bool glsl_program_changed_
 
double glsl_start_time_
 
index_t glsl_frame_
 
std::string glsl_source_
 
GLuint glsl_program_
 
- Protected Attributes inherited from OGF::Shader
bool no_grob_update_
 If true, then each shader update does not trigger a grob update.
 
Transparency transparency_
 

Additional Inherited Members

- Public Types inherited from OGF::Shader
enum  Transparency { TRANSP_OPAQUE , TRANSP_BLEND , TRANSP_ACCUM }
 
- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id.
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count.
 
static void unref (const Counted *counted)
 Decrements the reference count.
 
- Static Public Attributes inherited from OGF::Object
static constexpr Numeric::uint32 INVALID_ID = 0xbadbeef
 

Detailed Description

The default implementation of MeshGrobShader.

Definition at line 286 of file mesh_grob_shader.h.

Constructor & Destructor Documentation

◆ PlainMeshGrobShader()

OGF::PlainMeshGrobShader::PlainMeshGrobShader ( MeshGrob grob)

PlainMeshGrobShader constructor.

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

Member Function Documentation

◆ blink()

void OGF::PlainMeshGrobShader::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::MeshGrobShader.

◆ draw()

void OGF::PlainMeshGrobShader::draw ( )
overridevirtual

Draws the Grob.

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

Reimplemented from OGF::MeshGrobShader.

◆ get_animate()

bool OGF::PlainMeshGrobShader::get_animate ( ) const
inline

Tests whether time interpolation should be used.

If time interpolation is used, then 6d coordinates of vertices are interpreted as initial location (coordinates 1,2,3) and final location (coordinates 4,5,6).

Return values
trueif time interpolation should be used
falseotherwise
See also
set_time(), get_time()

Definition at line 1094 of file mesh_grob_shader.h.

◆ get_attribute()

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

Gets the name of the displayed attribute.

Returns
the name of the displayed attribute

Definition at line 470 of file mesh_grob_shader.h.

◆ get_attribute_max()

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

Gets the maximum of the displayed range for attribute values.

Returns
the maximum attribute value

Definition at line 452 of file mesh_grob_shader.h.

◆ get_attribute_min()

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

Gets the minimum of the displayed range for attribute values.

Returns
the minimum attribute value

Definition at line 432 of file mesh_grob_shader.h.

◆ get_border_style()

const EdgeStyle & OGF::PlainMeshGrobShader::get_border_style ( ) const
inline

Gets the style used to draw the border of the surface.

Returns
a const reference to the style that should be used to draw the border of the surface

Definition at line 983 of file mesh_grob_shader.h.

◆ get_cells_filter()

bool OGF::PlainMeshGrobShader::get_cells_filter ( ) const
inline

Definition at line 789 of file mesh_grob_shader.h.

◆ get_clipping()

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

Gets whether clipping should be used.

Return values
trueif clipping is used
falseotherwise

Definition at line 651 of file mesh_grob_shader.h.

◆ get_colored_cells()

bool OGF::PlainMeshGrobShader::get_colored_cells ( ) const
inline

Tests whether volumetric cells are colored by type.

Return values
trueif volumetric cells are colored by type
falseotherwise

Definition at line 811 of file mesh_grob_shader.h.

◆ get_coloring()

bool OGF::PlainMeshGrobShader::get_coloring ( ) const
inline

Tests whether coloring is active.

Return values
trueif colors should be displayed
falseotherwise

Definition at line 503 of file mesh_grob_shader.h.

◆ get_colormap()

const ColormapStyle & OGF::PlainMeshGrobShader::get_colormap ( ) const
inline

Definition at line 485 of file mesh_grob_shader.h.

◆ get_colors()

const std::string & OGF::PlainMeshGrobShader::get_colors ( ) const
inline

Gets the name of the displayed attribute.

Returns
the name of the displayed attribute

Definition at line 565 of file mesh_grob_shader.h.

◆ get_connectors()

bool OGF::PlainMeshGrobShader::get_connectors ( ) const
inline

Tests whether connectors are displayed.

Return values
trueif connectors are displayed
falseotherwise

Definition at line 915 of file mesh_grob_shader.h.

◆ get_culling_mode()

CullingMode OGF::PlainMeshGrobShader::get_culling_mode ( ) const
inline

Gets the current culling mode.

Returns
the culling mode.

Definition at line 705 of file mesh_grob_shader.h.

◆ get_edges_style()

const EdgeStyle & OGF::PlainMeshGrobShader::get_edges_style ( ) const
inline

Gets the style used to draw the edges.

Returns
a const reference to the style used to draw the edges

Definition at line 935 of file mesh_grob_shader.h.

◆ get_facets_filter()

bool OGF::PlainMeshGrobShader::get_facets_filter ( ) const
inline

Definition at line 687 of file mesh_grob_shader.h.

◆ get_glsl_source()

const std::string & OGF::PlainMeshGrobShader::get_glsl_source ( ) const
inline

Definition at line 1151 of file mesh_grob_shader.h.

◆ get_glsl_source_visible()

bool OGF::PlainMeshGrobShader::get_glsl_source_visible ( ) const
inline

Definition at line 1141 of file mesh_grob_shader.h.

◆ get_hexes()

bool OGF::PlainMeshGrobShader::get_hexes ( ) const
inline

Tests whether hexahedra are displayed.

Return values
trueif hexahedra are displayed
falseotherwise

Definition at line 852 of file mesh_grob_shader.h.

◆ get_lighting()

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

Gets whether lighting is used.

Return values
trueif lighting is used
falseotherwise

Definition at line 629 of file mesh_grob_shader.h.

◆ get_mesh_style()

const EdgeStyle & OGF::PlainMeshGrobShader::get_mesh_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 960 of file mesh_grob_shader.h.

◆ get_normal_map()

bool OGF::PlainMeshGrobShader::get_normal_map ( ) const
inline

Gets normal mapping mode.

Return values
trueif normal mapping is active.
falseotherwise.

Definition at line 610 of file mesh_grob_shader.h.

◆ get_painting()

PaintingMode OGF::PlainMeshGrobShader::get_painting ( ) const
inline

Gets painting mode.

Returns
one of SOLID_COLOR, ATTRIBUTE, TEXTURE.

Definition at line 412 of file mesh_grob_shader.h.

◆ get_prisms()

bool OGF::PlainMeshGrobShader::get_prisms ( ) const
inline

Tests whether prisms are displayed.

Return values
trueif prisms are displayed
falseotherwise

Definition at line 873 of file mesh_grob_shader.h.

◆ get_pyramids()

bool OGF::PlainMeshGrobShader::get_pyramids ( ) const
inline

Tests whether pyramids are displayed.

Return values
trueif pyramids are displayed
falseotherwise

Definition at line 894 of file mesh_grob_shader.h.

◆ get_shrink()

index_t OGF::PlainMeshGrobShader::get_shrink ( ) const
inline

Gets the shrinking coefficient of the volumetric cells.

Returns
the shrinking coefficient, between 0 (no shrinking) and 10 (completely shrunk).

Definition at line 1063 of file mesh_grob_shader.h.

◆ get_slivers()

double OGF::PlainMeshGrobShader::get_slivers ( ) const
inline

Definition at line 1127 of file mesh_grob_shader.h.

◆ get_specular()

index_t OGF::PlainMeshGrobShader::get_specular ( ) const
inline

Gets the current surface specular factor.

Returns
the specular factor.

Definition at line 724 of file mesh_grob_shader.h.

◆ get_surface_style()

const SurfaceStyle & OGF::PlainMeshGrobShader::get_surface_style ( ) const
inline

Gets the current surface drawing style.

Returns
a const reference to the current surface drawing style.

Definition at line 670 of file mesh_grob_shader.h.

◆ get_tets()

bool OGF::PlainMeshGrobShader::get_tets ( ) const
inline

Tests whether tetrahedra are displayed.

Return values
trueif tetrahedra are displayed
falseotherwise

Definition at line 832 of file mesh_grob_shader.h.

◆ get_tex_coords()

const std::string & OGF::PlainMeshGrobShader::get_tex_coords ( ) const
inline

Gets the name of the displayed attribute.

Returns
the name of the displayed attribute

Definition at line 542 of file mesh_grob_shader.h.

◆ get_tex_image()

const ImageFileName & OGF::PlainMeshGrobShader::get_tex_image ( ) const
inline

Gets the image used for texturing.

Returns
The name of the file with the image used for texturing.

Definition at line 525 of file mesh_grob_shader.h.

◆ get_tex_repeat()

index_t OGF::PlainMeshGrobShader::get_tex_repeat ( ) const
inline

Gets the texture repeat factor.

Returns
The number of times the texture is repeated in the unit texture space.

Definition at line 588 of file mesh_grob_shader.h.

◆ get_texturing()

bool OGF::PlainMeshGrobShader::get_texturing ( ) const
inline

Tests whether texturing is active.

Return values
trueif textures should be displayed
falseotherwise

Definition at line 494 of file mesh_grob_shader.h.

◆ get_time()

index_t OGF::PlainMeshGrobShader::get_time ( ) const
inline

Gets the time parameter used for time interpolation.

Returns
the time parameter, in 0 (initial time) .. 20 (final time).

Definition at line 1116 of file mesh_grob_shader.h.

◆ get_time_smooth()

double OGF::PlainMeshGrobShader::get_time_smooth ( ) const
inline

Gets the time as floating point parameter.

Returns
the time, as a floating point number betwee 0.0 and 1.0.

Definition at line 396 of file mesh_grob_shader.h.

◆ get_two_sided()

bool OGF::PlainMeshGrobShader::get_two_sided ( ) const
inline

Tests whether different colors are used for inside/outside.

Return values
trueif different colors are used
falseotherwise

Definition at line 750 of file mesh_grob_shader.h.

◆ get_vert_select_style()

const PointStyle & OGF::PlainMeshGrobShader::get_vert_select_style ( ) const
inline

Gets the vertices selection style.

Returns
a const reference to the vertices selection style.

Definition at line 1041 of file mesh_grob_shader.h.

◆ get_vertices_filter()

bool OGF::PlainMeshGrobShader::get_vertices_filter ( ) const
inline

Definition at line 1020 of file mesh_grob_shader.h.

◆ get_vertices_style()

const PointStyle & OGF::PlainMeshGrobShader::get_vertices_style ( ) const
inline

Gets the style used to draw the vertices.

Returns
a const reference to the style that should be used to draw the vertices

Definition at line 1002 of file mesh_grob_shader.h.

◆ get_volume_style()

const SurfaceStyle & OGF::PlainMeshGrobShader::get_volume_style ( ) const
inline

Gets the style used to draw the volumetric cells.

Returns
a const reference to the style used to draw the volumetric cells

Definition at line 771 of file mesh_grob_shader.h.

◆ get_weird_cells()

bool OGF::PlainMeshGrobShader::get_weird_cells ( ) const
inline

Definition at line 1137 of file mesh_grob_shader.h.

◆ hide_borders()

void OGF::PlainMeshGrobShader::hide_borders ( )
overridevirtual

Makes surface borders invisible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ hide_mesh()

void OGF::PlainMeshGrobShader::hide_mesh ( )
overridevirtual

Makes the mesh invisible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ hide_vertices()

void OGF::PlainMeshGrobShader::hide_vertices ( )
overridevirtual

Makes vertices invisible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ hide_vertices_selection()

void OGF::PlainMeshGrobShader::hide_vertices_selection ( )
overridevirtual

Makes vertices selection invisible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ pick()

void OGF::PlainMeshGrobShader::pick ( MeshElementsFlags  what)
overridevirtual

Picks an element of a mesh.

Parameters
[in]whatthe type of mesh element to be picked.

Base class implementation does nothing.

Reimplemented from OGF::MeshGrobShader.

◆ pick_object()

void OGF::PlainMeshGrobShader::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

Base class implementation does nothing.

Reimplemented from OGF::MeshGrobShader.

◆ set_animate()

void OGF::PlainMeshGrobShader::set_animate ( bool  value)
inline

Sets whether time interpolation should be used.

If time interpolation is used, then 6d coordinates of vertices are interpreted as initial location (coordinates 1,2,3) and final location (coordinates 4,5,6).

Parameters
[in]valuetrue if time interpolation should be used, false otherwise.
See also
set_time(), get_time()

Definition at line 1079 of file mesh_grob_shader.h.

◆ set_attribute()

void OGF::PlainMeshGrobShader::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::PlainMeshGrobShader::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 442 of file mesh_grob_shader.h.

◆ set_attribute_min()

void OGF::PlainMeshGrobShader::set_attribute_min ( double  value)
inline

Sets the minimum of the displayed range for attribute values.

Parameters
[in]valuethe minimum attribute value

Definition at line 422 of file mesh_grob_shader.h.

◆ set_border_style()

void OGF::PlainMeshGrobShader::set_border_style ( const EdgeStyle value)
inline

Sets the style used to draw the border of the surface.

Parameters
[in]valuea const reference to the style that should be used to draw the border of the surface

Definition at line 972 of file mesh_grob_shader.h.

◆ set_cells_filter()

void OGF::PlainMeshGrobShader::set_cells_filter ( bool  value)
inline

Sets cells filtering.

Parameters
[in]valuetrue if facet filtering is activated

Definition at line 781 of file mesh_grob_shader.h.

◆ set_clipping()

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

Sets whether clipping should be active.

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

Definition at line 640 of file mesh_grob_shader.h.

◆ set_colored_cells()

void OGF::PlainMeshGrobShader::set_colored_cells ( bool  value)
inline

Sets whether volumetric cells should be colored by type.

Parameters
[in]valuetrue if volumetric cells should be colored by type, false otherwise.

Definition at line 801 of file mesh_grob_shader.h.

◆ set_colormap()

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

Sets the colormap used to display attributes.

Parameters
[in]valuethe name of the colormap

Definition at line 479 of file mesh_grob_shader.h.

◆ set_colors()

void OGF::PlainMeshGrobShader::set_colors ( const std::string &  value)
inline

Sets the name fo the color attribute to be displayed.

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

Definition at line 554 of file mesh_grob_shader.h.

◆ set_connectors()

void OGF::PlainMeshGrobShader::set_connectors ( bool  value)
inline

Sets whether connectors should be displayed.

Parameters
[in]valuetrue if connectors should be displayed, false otherwise

Definition at line 905 of file mesh_grob_shader.h.

◆ set_culling_mode()

void OGF::PlainMeshGrobShader::set_culling_mode ( const CullingMode  value)
inline

Sets culling mode;.

Parameters
[in]valueone of NO_CULL, CULL_FRONT, CULL_BACK

Definition at line 696 of file mesh_grob_shader.h.

◆ set_edges_style()

void OGF::PlainMeshGrobShader::set_edges_style ( const EdgeStyle value)
inline

Sets the style used to draw the edges.

Parameters
[in]valuea const reference to the style used to draw the edges

Definition at line 925 of file mesh_grob_shader.h.

◆ set_facets_filter()

void OGF::PlainMeshGrobShader::set_facets_filter ( bool  value)
inline

Sets facet filtering.

Parameters
[in]valuetrue if facet filtering is activated

Definition at line 679 of file mesh_grob_shader.h.

◆ set_glsl_source()

void OGF::PlainMeshGrobShader::set_glsl_source ( const std::string &  value)
inline

Definition at line 1146 of file mesh_grob_shader.h.

◆ set_hexes()

void OGF::PlainMeshGrobShader::set_hexes ( bool  value)
inline

Sets whether hexahedra should be displayed.

Parameters
[in]valuetrue if hexahedra should be displayed, false otherwise

Definition at line 842 of file mesh_grob_shader.h.

◆ set_lighting()

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

Sets whether lighting should be used.

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

Definition at line 619 of file mesh_grob_shader.h.

◆ set_mesh_style()

void OGF::PlainMeshGrobShader::set_mesh_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 948 of file mesh_grob_shader.h.

◆ set_normal_map()

void OGF::PlainMeshGrobShader::set_normal_map ( bool  value)
inline

Sets normal mapping mode.

Parameters
[in]valuetrue if normal mapping mode should be used, false otherwise.

Definition at line 600 of file mesh_grob_shader.h.

◆ set_prisms()

void OGF::PlainMeshGrobShader::set_prisms ( bool  value)
inline

Sets whether prisms should be displayed.

Parameters
[in]valuetrue if prisms should be displayed, false otherwise

Definition at line 863 of file mesh_grob_shader.h.

◆ set_pyramids()

void OGF::PlainMeshGrobShader::set_pyramids ( bool  value)
inline

Sets whether pyramids should be displayed.

Parameters
[in]valuetrue if pyramids should be displayed, false otherwise

Definition at line 884 of file mesh_grob_shader.h.

◆ set_shrink()

void OGF::PlainMeshGrobShader::set_shrink ( index_t  value)
inline

Sets the shrinking coefficient of the volumetric cells.

Parameters
[in]valuethe shrinking coefficient, between 0 (no shrinking) and 10 (completely shrunk).

Definition at line 1052 of file mesh_grob_shader.h.

◆ set_slivers()

void OGF::PlainMeshGrobShader::set_slivers ( double  value)
inline

Definition at line 1122 of file mesh_grob_shader.h.

◆ set_specular()

void OGF::PlainMeshGrobShader::set_specular ( index_t  x)
inline

Sets the current surface specular factor.

Parameters
[in]xspecular factor, use 0 for Lambert shading, 10 for highly specular shading.

Definition at line 715 of file mesh_grob_shader.h.

◆ set_surface_style()

void OGF::PlainMeshGrobShader::set_surface_style ( const SurfaceStyle value)
inline

Sets surface drawing style.

Parameters
[in]valuea const reference to the SurfaceStyle

Definition at line 661 of file mesh_grob_shader.h.

◆ set_tets()

void OGF::PlainMeshGrobShader::set_tets ( bool  value)
inline

Sets whether tetrahedra should be displayed.

Parameters
[in]valuetrue if tetrahedra should be displayed, false otherwise

Definition at line 822 of file mesh_grob_shader.h.

◆ set_tex_coords()

void OGF::PlainMeshGrobShader::set_tex_coords ( const std::string &  value)

Sets the name fo the attribute to be displayed.

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

◆ set_tex_image()

void OGF::PlainMeshGrobShader::set_tex_image ( const ImageFileName value)
inline

Sets the image used for texturing.

Parameters
[in]valuethe name of the file with the image used for texturing.

Definition at line 514 of file mesh_grob_shader.h.

◆ set_tex_repeat()

void OGF::PlainMeshGrobShader::set_tex_repeat ( index_t  value)
inline

Sets the texture repeat factor.

Parameters
[in]valuethe number of times the texture should be repeated in the unit texture space.

Definition at line 578 of file mesh_grob_shader.h.

◆ set_time()

void OGF::PlainMeshGrobShader::set_time ( index_t  value)
inline

Sets the time parameter used for time interpolation.

Parameters
[in]valuethe time parameter, in 0 (initial time) .. 20 (final time).

Definition at line 1107 of file mesh_grob_shader.h.

◆ set_time_smooth()

void OGF::PlainMeshGrobShader::set_time_smooth ( double  x)
inline

Sets the time with a floating point parameter.

Parameters
[in]xthe time, as a floating point number betwee 0.0 and 1.0.

Definition at line 385 of file mesh_grob_shader.h.

◆ set_transparency()

void OGF::PlainMeshGrobShader::set_transparency ( Transparency  x)
overridevirtual

Transparent rendering mode.

Reimplemented from OGF::Shader.

◆ set_two_sided()

void OGF::PlainMeshGrobShader::set_two_sided ( bool  value)
inline

Sets whether different colors should be used for inside/outside.

For drawing the inside, the complementary color of the one declared in the surface style is used (each color component is replaced with 1.0 minus the value of the component). If color is average gray, it is replaced with light gray outside / dark gray inside so that one can see a difference.

Parameters
[in]valuetrue if different colors should be used, false otherwise

Definition at line 740 of file mesh_grob_shader.h.

◆ set_vertices_filter()

void OGF::PlainMeshGrobShader::set_vertices_filter ( bool  value)
inline

Sets vertices filtering.

Parameters
[in]valuetrue if vertices filtering is activated

Definition at line 1012 of file mesh_grob_shader.h.

◆ set_vertices_style()

void OGF::PlainMeshGrobShader::set_vertices_style ( const PointStyle value)
inline

Sets the style used to draw the vertices.

Parameters
[in]valuea const reference to the style that should be used to draw the vertices

Definition at line 992 of file mesh_grob_shader.h.

◆ set_volume_style()

void OGF::PlainMeshGrobShader::set_volume_style ( const SurfaceStyle value)
inline

Sets the style of the volumetric cells.

Parameters
[in]valuea const reference to the style used to draw the volumetric cells

Definition at line 760 of file mesh_grob_shader.h.

◆ set_weird_cells()

void OGF::PlainMeshGrobShader::set_weird_cells ( bool  x)
inline

Definition at line 1132 of file mesh_grob_shader.h.

◆ show_borders()

void OGF::PlainMeshGrobShader::show_borders ( )
overridevirtual

Makes surface borders visible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ show_mesh()

void OGF::PlainMeshGrobShader::show_mesh ( )
overridevirtual

Makes the mesh visible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ show_vertices()

void OGF::PlainMeshGrobShader::show_vertices ( )
overridevirtual

Makes vertices visible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ show_vertices_selection()

void OGF::PlainMeshGrobShader::show_vertices_selection ( )
overridevirtual

Makes vertices selection visible and triggers a drawing event.

Reimplemented from OGF::MeshGrobShader.

◆ update()

OGF::PlainMeshGrobShader::update ( )
virtual

Redraws the scene.

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

Reimplemented from OGF::Shader.

Member Data Documentation

◆ __pad0__

OGF::PlainMeshGrobShader::__pad0__

Definition at line 357 of file mesh_grob_shader.h.

◆ __pad1__

OGF::PlainMeshGrobShader::__pad1__

Definition at line 357 of file mesh_grob_shader.h.

◆ __pad2__

OGF::PlainMeshGrobShader::__pad2__

Definition at line 396 of file mesh_grob_shader.h.

◆ __pad3__

OGF::PlainMeshGrobShader::__pad3__

Definition at line 1020 of file mesh_grob_shader.h.

◆ animate_

bool OGF::PlainMeshGrobShader::animate_
protected

Definition at line 1207 of file mesh_grob_shader.h.

◆ attribute_

std::string OGF::PlainMeshGrobShader::attribute_
protected

Definition at line 1170 of file mesh_grob_shader.h.

◆ attribute_max_

double OGF::PlainMeshGrobShader::attribute_max_
protected

Definition at line 1174 of file mesh_grob_shader.h.

◆ attribute_min_

double OGF::PlainMeshGrobShader::attribute_min_
protected

Definition at line 1173 of file mesh_grob_shader.h.

◆ attribute_name_

std::string OGF::PlainMeshGrobShader::attribute_name_
protected

Definition at line 1172 of file mesh_grob_shader.h.

◆ attribute_subelements_

MeshElementsFlags OGF::PlainMeshGrobShader::attribute_subelements_
protected

Definition at line 1171 of file mesh_grob_shader.h.

◆ border_style_

EdgeStyle OGF::PlainMeshGrobShader::border_style_
protected

Definition at line 1203 of file mesh_grob_shader.h.

◆ cells_filter_

bool OGF::PlainMeshGrobShader::cells_filter_
protected

Definition at line 1193 of file mesh_grob_shader.h.

◆ clipping_

bool OGF::PlainMeshGrobShader::clipping_
protected

Definition at line 1212 of file mesh_grob_shader.h.

◆ colored_cells_

bool OGF::PlainMeshGrobShader::colored_cells_
protected

Definition at line 1194 of file mesh_grob_shader.h.

◆ colormap_style_

ColormapStyle OGF::PlainMeshGrobShader::colormap_style_
protected

Definition at line 1175 of file mesh_grob_shader.h.

◆ colormap_texture_

Texture_var OGF::PlainMeshGrobShader::colormap_texture_
protected

Definition at line 1176 of file mesh_grob_shader.h.

◆ connectors_

bool OGF::PlainMeshGrobShader::connectors_
protected

Definition at line 1199 of file mesh_grob_shader.h.

◆ culling_mode_

CullingMode OGF::PlainMeshGrobShader::culling_mode_
protected

Definition at line 1188 of file mesh_grob_shader.h.

◆ edges_style_

EdgeStyle OGF::PlainMeshGrobShader::edges_style_
protected

Definition at line 1201 of file mesh_grob_shader.h.

◆ facets_filter_

bool OGF::PlainMeshGrobShader::facets_filter_
protected

Definition at line 1187 of file mesh_grob_shader.h.

◆ gfx_

GEO::MeshGfx OGF::PlainMeshGrobShader::gfx_
protected

Definition at line 1166 of file mesh_grob_shader.h.

◆ glsl_frame_

index_t OGF::PlainMeshGrobShader::glsl_frame_
protected

Definition at line 1216 of file mesh_grob_shader.h.

◆ glsl_program_

GLuint OGF::PlainMeshGrobShader::glsl_program_
protected

Definition at line 1218 of file mesh_grob_shader.h.

◆ glsl_program_changed_

bool OGF::PlainMeshGrobShader::glsl_program_changed_
protected

Definition at line 1214 of file mesh_grob_shader.h.

◆ glsl_source_

std::string OGF::PlainMeshGrobShader::glsl_source_
protected

Definition at line 1217 of file mesh_grob_shader.h.

◆ glsl_start_time_

double OGF::PlainMeshGrobShader::glsl_start_time_
protected

Definition at line 1215 of file mesh_grob_shader.h.

◆ hexes_

bool OGF::PlainMeshGrobShader::hexes_
protected

Definition at line 1196 of file mesh_grob_shader.h.

◆ mesh_style_

EdgeStyle OGF::PlainMeshGrobShader::mesh_style_
protected

Definition at line 1202 of file mesh_grob_shader.h.

◆ painting_mode_

PaintingMode OGF::PlainMeshGrobShader::painting_mode_
protected

Definition at line 1168 of file mesh_grob_shader.h.

◆ picking_

bool OGF::PlainMeshGrobShader::picking_
protected

Definition at line 1209 of file mesh_grob_shader.h.

◆ prisms_

bool OGF::PlainMeshGrobShader::prisms_
protected

Definition at line 1197 of file mesh_grob_shader.h.

◆ pyramids_

bool OGF::PlainMeshGrobShader::pyramids_
protected

Definition at line 1198 of file mesh_grob_shader.h.

◆ shrink_

index_t OGF::PlainMeshGrobShader::shrink_
protected

Definition at line 1200 of file mesh_grob_shader.h.

◆ slivers_

double OGF::PlainMeshGrobShader::slivers_
protected

Definition at line 1210 of file mesh_grob_shader.h.

◆ specular_

index_t OGF::PlainMeshGrobShader::specular_
protected

Definition at line 1190 of file mesh_grob_shader.h.

◆ surface_style_

SurfaceStyle OGF::PlainMeshGrobShader::surface_style_
protected

Definition at line 1186 of file mesh_grob_shader.h.

◆ tets_

bool OGF::PlainMeshGrobShader::tets_
protected

Definition at line 1195 of file mesh_grob_shader.h.

◆ tex_coord_attribute_

std::string OGF::PlainMeshGrobShader::tex_coord_attribute_
protected

Definition at line 1179 of file mesh_grob_shader.h.

◆ tex_coord_name_

std::string OGF::PlainMeshGrobShader::tex_coord_name_
protected

Definition at line 1180 of file mesh_grob_shader.h.

◆ tex_coord_repeat_

index_t OGF::PlainMeshGrobShader::tex_coord_repeat_
protected

Definition at line 1181 of file mesh_grob_shader.h.

◆ tex_coord_subelements_

MeshElementsFlags OGF::PlainMeshGrobShader::tex_coord_subelements_
protected

Definition at line 1178 of file mesh_grob_shader.h.

◆ tex_normal_mapping_

bool OGF::PlainMeshGrobShader::tex_normal_mapping_
protected

Definition at line 1182 of file mesh_grob_shader.h.

◆ texture_

Texture_var OGF::PlainMeshGrobShader::texture_
protected

Definition at line 1183 of file mesh_grob_shader.h.

◆ texture_filename_

ImageFileName OGF::PlainMeshGrobShader::texture_filename_
protected

Definition at line 1184 of file mesh_grob_shader.h.

◆ time_

double OGF::PlainMeshGrobShader::time_
protected

Definition at line 1208 of file mesh_grob_shader.h.

◆ two_sided_

bool OGF::PlainMeshGrobShader::two_sided_
protected

Definition at line 1191 of file mesh_grob_shader.h.

◆ vertices_filter_

bool OGF::PlainMeshGrobShader::vertices_filter_
protected

Definition at line 1205 of file mesh_grob_shader.h.

◆ vertices_selection_style_

PointStyle OGF::PlainMeshGrobShader::vertices_selection_style_
protected

Definition at line 1206 of file mesh_grob_shader.h.

◆ vertices_style_

PointStyle OGF::PlainMeshGrobShader::vertices_style_
protected

Definition at line 1204 of file mesh_grob_shader.h.

◆ volume_style_

SurfaceStyle OGF::PlainMeshGrobShader::volume_style_
protected

Definition at line 1192 of file mesh_grob_shader.h.

◆ weird_cells_

bool OGF::PlainMeshGrobShader::weird_cells_
protected

Definition at line 1211 of file mesh_grob_shader.h.


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