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

A tool that paints attribute values in a mesh. More...

#include <OGF/mesh_gfx/tools/mesh_grob_paint_tools.h>

Inheritance diagram for OGF::MeshGrobPaint:
OGF::MeshGrobPaintRect OGF::MeshGrobPaintTool OGF::MeshGrobTool OGF::Tool OGF::Node OGF::Object GEO::Counted

Public Member Functions

 MeshGrobPaint (ToolsManager *parent)
 MeshGrobPaint constructor. More...
 
void grab (const RayPick &p_ndc) override
 
void drag (const RayPick &p_ndc) override
 The event handler for mouse drag events. More...
 
void release (const RayPick &p_ndc) override
 The event handler for mouse release events. More...
 
public::void set_width (index_t value)
 
index_t get_width () const
 
void set_stroke_mode (bool value)
 
bool get_stroke_mode () const
 
- Public Member Functions inherited from OGF::MeshGrobPaintRect
 MeshGrobPaintRect (ToolsManager *parent)
 MeshGrobPaint constructor. More...
 
void grab (const RayPick &p_ndc) override
 
- Public Member Functions inherited from OGF::MeshGrobPaintTool
 MeshGrobPaintTool (ToolsManager *parent)
 
void reset () override
 Resets this Tool. More...
 
double get_value () const
 
void set_accumulate (bool value)
 If set, value is added to previous value when painting.
 
bool get_accumulate () const
 
void set_autorange (bool value)
 If set, colormap range is continuously updated when painting.
 
bool get_autorange () const
 
void set_pick_vertices_only (bool value)
 If set, vertex attributes can be only painted by directly picking vertices, else one can pick facets or cells.
 
bool get_pick_vertices_only () const
 
void set_xray_mode (bool value)
 If set, pick everything that falls within the rect, else pick only visible elements.
 
bool get_xray_mode () const
 
void set_value_for_this_tool (double value)
 
void set_accumulate_for_this_tool (bool value)
 
void set_autorange_for_this_tool (bool value)
 
void set_pick_vertices_for_this_tool (bool value)
 
void set_xray_mode_for_this_tool (bool value)
 
- Public Member Functions inherited from OGF::MeshGrobTool
 MeshGrobTool (ToolsManager *parent)
 MeshGrobTool constructor. More...
 
 ~MeshGrobTool () override
 MeshGrobTool destructor.
 
MeshGrobmesh_grob () const
 Gets the MeshGrob this MeshGrobTool operates on. More...
 
index_t pick_vertex (const RayPick &rp)
 Picks a vertex. More...
 
index_t pick_edge (const RayPick &rp)
 Picks a edge. More...
 
index_t pick_facet (const RayPick &rp)
 Picks a facet. More...
 
index_t pick_cell (const RayPick &rp)
 Picks a cell. More...
 
bool pick_facet_edge (const RayPick &rp, index_t &facet, index_t &corner)
 Picks an edge of a facet. More...
 
index_t pick (const RayPick &rp, MeshElementsFlags what, Image *image=nullptr, index_t x0=0, index_t y0=0, index_t width=0, index_t height=0)
 Picks an element of the mesh. More...
 
vec3 drag_point (const RayPick &rp) const
 Gets the 3D coordinate of a point dragged from the latest picked point to the actual mouse position in a direction parallel to the screen. More...
 
const vec3picked_point () const
 Gets the picked point in world coordinates. More...
 
const vec2picked_ndc () const
 Gets the picked point in normalized device coordinates. More...
 
double picked_depth () const
 Gets the depth of the picked point. More...
 
- Public Member Functions inherited from OGF::Tool
 Tool (ToolsManager *mgr)
 Tool constructor. More...
 
void status (const std::string &value)
 Outputs a message in the status bar. More...
 
SceneGraphscene_graph ()
 Gets the SceneGraph. More...
 
virtual void configure ()
 Configures this Tool. More...
 
ToolsManagertools_manager () const
 Gets the ToolsManager. More...
 
const mat4focus () const
 Gets the current focus matrix. More...
 
RenderingContextrendering_context () const
 Gets the RenderingContext. More...
 
Grobobject () const
 Gets the current object. More...
 
vec2 project_point (vec3 p) const
 Computes screen-coordinates of a 3D point. More...
 
vec2 ndc_to_dc (vec2 p) const
 Converts normalized device coordinates to device coordinates. 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...
 

Protected Member Functions

void for_each_stroke_quad (std::function< void(vec2, vec2, vec2, vec2)> doit)
 Calls a user function for each quad of the stroke. More...
 
- Protected Member Functions inherited from OGF::MeshGrobPaintTool
bool get_painting_parameters (const RayPick &raypick, PaintOp &op, MeshElementsFlags &where, std::string &attribute_name, index_t &component)
 
void paint (const RayPick &p_ndc)
 
- Protected Member Functions inherited from OGF::Tool
void set_tooltip (const std::string &text)
 Sets the tooltip to be displayed under the mouse. More...
 
void reset_tooltip ()
 Removes a tooltip previously created by set_tooltip()
 
- 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

index_t width_
 
vec2 latest_ndc_
 
bool stroke_mode_
 
vector< vec2stroke_
 
- Protected Attributes inherited from OGF::MeshGrobPaintTool
double value_
 
bool accumulate_
 
bool autorange_
 
bool pick_vertices_only_
 
bool xray_mode_
 
index_t picked_element_
 
- Protected Attributes inherited from OGF::MeshGrobTool
vec3 picked_point_
 
vec2 picked_ndc_
 
double picked_depth_
 
- Protected Attributes inherited from OGF::Tool
ToolsManagertools_manager_
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::MeshGrobPaintTool
static void get_paint_tools (ToolsManager *manager, vector< MeshGrobPaintTool * > &paint_tools)
 Gets all paint tools from the ToolsManager. 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 inherited from OGF::MeshGrobPaintRect
public::protected __pad0__: void paint_rect( const RayPick& raypick
 
public::protected index_t x0
 
public::protected index_t index_t y0
 
public::protected index_t index_t index_t x1
 
public::protected index_t index_t index_t index_t y1
 
public::protected index_t index_t index_t index_t Imagemask
 
bool active_
 
vec2 p_
 
- Public Attributes inherited from OGF::MeshGrobPaintTool
 __pad0__: void set_value(double value)
 
- Public Attributes inherited from OGF::Tool
 __pad0__: virtual void grab(const RayPick& 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
 

Detailed Description

A tool that paints attribute values in a mesh.

Definition at line 282 of file mesh_grob_paint_tools.h.

Constructor & Destructor Documentation

◆ MeshGrobPaint()

OGF::MeshGrobPaint::MeshGrobPaint ( ToolsManager parent)

MeshGrobPaint constructor.

Parameters
[in]parenta pointer to the ToolsManager

Member Function Documentation

◆ drag()

void OGF::MeshGrobPaint::drag ( const RayPick p_ndc)
overridevirtual

The event handler for mouse drag events.

Parameters
[in]valuea const reference to the picking event

Reimplemented from OGF::MeshGrobPaintRect.

◆ for_each_stroke_quad()

void OGF::MeshGrobPaint::for_each_stroke_quad ( std::function< void(vec2, vec2, vec2, vec2)>  doit)
protected

Calls a user function for each quad of the stroke.

Parameters
[in]doitthe function to be called. It takes as arguments the four vertices of the quad, in device coordinates.

◆ grab()

void OGF::MeshGrobPaint::grab ( const RayPick p_ndc)
override

◆ release()

void OGF::MeshGrobPaint::release ( const RayPick p_ndc)
overridevirtual

The event handler for mouse release events.

Parameters
[in]valuea const reference to the picking event

Reimplemented from OGF::MeshGrobPaintRect.


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