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

A Grob wrapper around Geogram's Mesh class. More...

#include <OGF/mesh/grob/mesh_grob.h>

Inheritance diagram for OGF::MeshGrob:
OGF::Grob GEO::Mesh OGF::Node OGF::Object GEO::Counted

Public Member Functions

 MeshGrob (CompositeGrob *parent)
 MeshGrob constructor. More...
 
 ~MeshGrob () override
 MeshGrob destructor;.
 
bool load (const FileName &value) override
 Replaces this Grob with the contents of a file. More...
 
bool append (const FileName &value) override
 Appends the content of the specified file to this Grob. More...
 
bool save (const NewFileName &value) override
 Saves this Grob to a file. More...
 
void clear () override
 Clears this Grob. More...
 
Grobduplicate (SceneGraph *sg) override
 Duplicates this Grob. More...
 
bool is_serializable () const override
 Tests whether this Grob can be serialized in GeoFile. More...
 
bool serialize_read (InputGraphiteFile &geofile) override
 Reads this Grob from a GeoFile. More...
 
bool serialize_write (OutputGraphiteFile &geofile) override
 Writes this Grob into a stream. More...
 
std::string get_scalar_attributes () const
 Gets the list of all scalar attributes. More...
 
std::string get_selections () const
 Gets the list of all selections. More...
 
std::string get_filters () const
 Gets the list of all filters. More...
 
void update () override
 
Box3d bbox () const override
 Gets the bounding box. More...
 
- Public Member Functions inherited from OGF::Grob
 Grob (CompositeGrob *parent)
 Grob constructor. More...
 
 ~Grob () override
 Grob destructor.
 
const std::string & name () const
 Gets the name of this Grob. More...
 
virtual Box3d world_bbox () const
 Gets the bounding box in world coordinates. More...
 
void set_shader (const std::string &value)
 Changes the current shader of this Grob. More...
 
void get_shader_and_shader_properties (std::string &classname, ArgList &properties, bool pointers=true)
 Gets the classname of the shader and its properties. More...
 
void set_shader_and_shader_properties (const std::string &classname, const ArgList &properties)
 Sets the shader and its properties. More...
 
ArgListattributes ()
 Gets the attributes associated with this Grob. More...
 
const ArgListattributes () const
 Gets the attributes associated with this Grob. More...
 
bool dirty () const
 Gets the dirty flag. More...
 
void up_to_date ()
 Tests whether this object is up to date. More...
 
bool graphics_are_locked () const
 Tests whether this VoxelGrob is locked for graphics display. More...
 
void lock_graphics ()
 Locks graphics for this VoxelGrob. More...
 
void unlock_graphics ()
 Unlocks graphics for this VoxelGrob. More...
 
virtual Interpreterinterpreter ()
 Gets a pointer to the main Interpreter. More...
 
virtual void redraw ()
 Triggers update events and redraws the scene. More...
 
SceneGraphscene_graph () const
 Gets the SceneGraph. More...
 
virtual void rename (const std::string &value)
 Renames this Grob. More...
 
virtual Objectquery_interface (const std::string &name)
 Creates an Interface object connected to this Grob. More...
 
index_t nb_grob_attributes () const
 gets the number of grob attributes More...
 
const std::string & ith_grob_attribute_name (index_t i) const
 gets the name of a grob attribute More...
 
std::string ith_grob_attribute_value (index_t i) const
 gets the value of a grob attribute More...
 
void set_grob_attribute (const std::string &name, const std::string &value)
 sets the value of a grob attribute More...
 
void set_filename (const std::string &value)
 Sets the name of this Grob. More...
 
const std::string & get_filename () const
 Gets the filename of this Grob. More...
 
bool get_visible () const
 Tests whether this Grob is visible. More...
 
void set_visible (bool value)
 Sets the visibility flag of this Grob. More...
 
Objectget_shader () const
 Gets the shader associated with this Grob. More...
 
Objectget_shader_manager () const
 Gets the ShaderManager associated with this Grob. More...
 
void set_obj_to_world_transform (const mat4 &value)
 Sets the object to world transform. More...
 
const mat4get_obj_to_world_transform () const
 Gets the object to world transform. 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 Member Functions inherited from GEO::Mesh
 Mesh (index_t dimension=3, bool single_precision=false)
 Mesh constructor. More...
 
virtual ~Mesh ()
 Mesh destructor.
 
void clear (bool keep_attributes=true, bool keep_memory=false)
 Removes all the elements and attributes of this mesh. More...
 
void show_stats (const std::string &tag="Mesh") const
 Displays number of vertices, facets and borders.
 
void assert_is_valid ()
 Does some validity checks. More...
 
void copy (const Mesh &rhs, bool copy_attributes=true, MeshElementsFlags what=MESH_ALL_ELEMENTS)
 Copies a mesh onto this one. More...
 
std::string get_attributes () const
 Gets the list of all attributes. More...
 
std::string get_scalar_attributes () const
 Gets the list of all scalar attributes. More...
 
std::string get_vector_attributes (index_t max_dim=0) const
 Gets the list of all vector attributes. More...
 
index_t nb_subelements_types () const
 Gets the number of subelements types. More...
 
MeshSubElementsStoreget_subelements_by_index (index_t i)
 Gets a MeshSubElementsStore by index. More...
 
const MeshSubElementsStoreget_subelements_by_index (index_t i) const
 Gets a MeshSubElementsStore by index. More...
 
MeshSubElementsStoreget_subelements_by_type (MeshElementsFlags what)
 Gets a MeshSubElementsStore by subelements type. More...
 
const MeshSubElementsStoreget_subelements_by_type (MeshElementsFlags what) const
 Gets a MeshSubElementsStore by subelements type. More...
 

Static Public Member Functions

static MeshGrobfind_or_create (SceneGraph *sg, const std::string &name)
 Finds or creates a MeshGrob with the specified name. More...
 
static MeshGrobfind (SceneGraph *sg, const std::string &name)
 Finds a MeshGrob by name. More...
 
static void register_geogram_file_extensions ()
 Registers all Geogram file extensions in Graphite. More...
 
- Static Public Member Functions inherited from OGF::Grob
static Grobfind (SceneGraph *sg, const std::string &name)
 Finds a Grob by name. 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...
 
- Static Public Member Functions inherited from GEO::Mesh
static std::string subelements_type_to_name (MeshElementsFlags what)
 Gets a subelement name by subelement type. More...
 
static MeshElementsFlags name_to_subelements_type (const std::string &name)
 Gets a subelement type by subelement name. More...
 
static bool parse_attribute_name (const std::string &full_attribute_name, MeshElementsFlags &where, std::string &attribute_name, index_t &component)
 Extracts localisation, name and optional component from an attribute name. More...
 

Public Attributes

 __pad0__: std::string get_attributes() const
 
 __pad1__: std::string list_attributes( const std::string& localisations=""
 
const std::string & types =""
 
const std::string const std::string & dims
 
- Public Attributes inherited from OGF::Grob
 __pad0__: virtual void update()
 
gom_signals __pad1__: virtual void value_changed(Grob* value)
 
 __pad2__: const std::string& get_name() const { return name_
 
- 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
 
- Public Attributes inherited from GEO::Mesh
MeshVertices vertices
 
MeshEdges edges
 
MeshFacets facets
 
MeshFacetCornersStore facet_corners
 
MeshCells cells
 
MeshCellCornersStore cell_corners
 
MeshCellFacetsStore cell_facets
 

Additional Inherited Members

- Protected Member Functions inherited from OGF::Grob
void initialize_name (const std::string &name)
 Initializes the name of this Grob. More...
 
void set_shader_manager (Object *s)
 Sets the ShaderManager associated with this 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 Member Functions inherited from GEO::Mesh
void display_attributes (const std::string &tag, const std::string &subelement_name, const MeshSubElementsStore &subelements) const
 Displays the list of attributes to the Logger. More...
 
- Protected Attributes inherited from OGF::Grob
std::string name_
 
std::string filename_
 
bool visible_
 
SceneGraphscene_graph_
 
mat4 obj_to_world_
 
Object_var shader_manager_
 
ArgList grob_attributes_
 
bool dirty_
 
index_t nb_graphics_locks_
 
 Indicates the mesh elements (vertices, facets or cells) present in a mesh. More...

Detailed Description

A Grob wrapper around Geogram's Mesh class.

Definition at line 56 of file mesh_grob.h.

Constructor & Destructor Documentation

◆ MeshGrob()

OGF::MeshGrob::MeshGrob ( CompositeGrob parent)

MeshGrob constructor.

Parameters
[in]parenta pointer to the container (the scenegraph in most cases).

Member Function Documentation

◆ append()

bool OGF::MeshGrob::append ( const FileName value)
overridevirtual

Appends the content of the specified file to this Grob.

Parameters
[in]valuethe name of the file
Return values
trueon success
falseotherwise

Reimplemented from OGF::Grob.

◆ bbox()

Box3d OGF::MeshGrob::bbox ( ) const
overridevirtual

Gets the bounding box.

Returns
the bounding box

Implements OGF::Grob.

◆ clear()

void OGF::MeshGrob::clear ( )
overridevirtual

Clears this Grob.

Reimplemented from OGF::Grob.

◆ duplicate()

Grob* OGF::MeshGrob::duplicate ( SceneGraph sg)
overridevirtual

Duplicates this Grob.

The newly created Grob has the same name as the current one, with "_copy" appended.

Reimplemented from OGF::Grob.

◆ find()

static MeshGrob* OGF::MeshGrob::find ( SceneGraph sg,
const std::string &  name 
)
static

Finds a MeshGrob by name.

Parameters
[in]sga pointer to the SceneGraph
[in]namethe name
Returns
a pointer to the MeshGrob named as name in the SceneGraph sg if it exists, or nil otherwise.

◆ find_or_create()

static MeshGrob* OGF::MeshGrob::find_or_create ( SceneGraph sg,
const std::string &  name 
)
static

Finds or creates a MeshGrob with the specified name.

Parameters
[in]sga pointer to the SceneGraph
[in]namethe name
Returns
a pointer to the MeshGrob named as name in the SceneGraph sg if it exists, or a newly created MeshGrob otherwise.

◆ get_filters()

std::string OGF::MeshGrob::get_filters ( ) const

Gets the list of all filters.

Returns
a ';'-separated list of all selections. Each filter name is prefixed by the subelement is is bound to.

◆ get_scalar_attributes()

std::string OGF::MeshGrob::get_scalar_attributes ( ) const

Gets the list of all scalar attributes.

Returns
a ';'-separated list of all scalar attributes. Each attribute name is prefixed by the subelement it is bound to. For vector attributes, all their components are listed.

◆ get_selections()

std::string OGF::MeshGrob::get_selections ( ) const

Gets the list of all selections.

Returns
a ';'-separated list of all selections. Each selection name is prefixed by the subelement is is bound to.

◆ is_serializable()

bool OGF::MeshGrob::is_serializable ( ) const
overridevirtual

Tests whether this Grob can be serialized in GeoFile.

Return values
trueif this Grob is serializable
falseotherwise
See also
serialize_read(), serialize_write()

Reimplemented from OGF::Grob.

◆ load()

bool OGF::MeshGrob::load ( const FileName value)
overridevirtual

Replaces this Grob with the contents of a file.

Parameters
[in]valuethe name of the file
Return values
trueon success
falseotherwise

Reimplemented from OGF::Grob.

◆ register_geogram_file_extensions()

static void OGF::MeshGrob::register_geogram_file_extensions ( )
static

Registers all Geogram file extensions in Graphite.

Note
This function is automatically called at Graphite startup, in the initialization function of the mesh library.

◆ save()

bool OGF::MeshGrob::save ( const NewFileName value)
overridevirtual

Saves this Grob to a file.

Parameters
[in]valuethe name of the file
Return values
trueon success
falseotherwise

Reimplemented from OGF::Grob.

◆ serialize_read()

bool OGF::MeshGrob::serialize_read ( InputGraphiteFile geofile)
overridevirtual

Reads this Grob from a GeoFile.

Parameters
[in,out]geofilethe input GeoFile
Return values
trueif the Grob could be successfully read
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ serialize_write()

bool OGF::MeshGrob::serialize_write ( OutputGraphiteFile geofile)
overridevirtual

Writes this Grob into a stream.

Parameters
[in,out]geofilethe output GeoFile The file extension determines the file format used to write the object.
Return values
trueif the Grob could be successfully written
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ update()

void OGF::MeshGrob::update ( )
override

Member Data Documentation

◆ dims

const std::string const std::string& OGF::MeshGrob::dims
Initial value:
=""
)

Definition at line 154 of file mesh_grob.h.


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