|
Graphite Version 3
An experimental 3D geometry processing program
|
Commands that manipulate point sets. More...
#include <OGF/mesh/commands/mesh_grob_points_commands.h>
Public Member Functions | |
| MeshGrobPointsCommands () | |
| MeshGrobPointsCommands constructor. | |
| ~MeshGrobPointsCommands () override | |
| MeshGrobPointsCommands destructor. | |
| void | detect_outliers (index_t nb=10, double radius=0.01, bool relative_radius=true) |
| Marks isolated points as selection. | |
| bool | estimate_normals (index_t nb_neighbors=30, bool reorient=true) |
| Estimates the normal vector to a point-sampled surface using K nearest neighbors. The computed normals are stored in the "normal" attribute. | |
| void | estimate_density (double radius=0.005, bool relative_radius=true, const std::string &attribute="density") |
| Estimates the density. | |
| void | reconstruct_surface_SSSR (double radius=5.0, unsigned int nb_smoothing_iterations=1, unsigned int nb_neighbors=30) |
| Reconstructs a surface from a point set using Simple and Scalable Surface Reconstruction. | |
| void | reconstruct_surface_Poisson (const NewMeshGrobName &reconstruction="reconstruction", unsigned int depth=8) |
| Reconstructs a surface from points and normals using Misha Kahzdan's Screened Poisson Reconstruction. | |
| void | reconstruct_surface_Delaunay2d () |
| Reconstructs a surface from points using a 2D Delaunay triangulation. Can be used for Digital Elevation Models. | |
| MeshGrob * | sample_surface (const NewMeshGrobName &points="points", bool copy_normals=false, unsigned int nb_points=30000, unsigned int Lloyd_iter=5, unsigned int Newton_iter=30, unsigned int Newton_m=7) |
| Creates a pointset that samples a surface. | |
| MeshGrob * | sample_volume (const NewMeshGrobName &points="points", unsigned int nb_points=30000, unsigned int Lloyd_iter=5, unsigned int Newton_iter=30, unsigned int Newton_m=7) |
| Creates a pointset that samples a volume. | |
| void | delete_selected_points () |
| Delete all points marked as selection. | |
| void | create_vertex (double x, double y, double z, bool selected=false) |
| Creates a new vertex at given coordinates. | |
| void | project_on_surface (const MeshGrobName &surface) |
| Projects a mesh onto a surface. | |
Public Member Functions inherited from OGF::MeshGrobCommands | |
| MeshGrobCommands () | |
| MeshGrobCommands constructor. | |
| ~MeshGrobCommands () override | |
| MeshGrobCommands destructor. | |
| MeshGrob * | mesh_grob () const |
| Gets the MeshGrob. | |
Public Member Functions inherited from OGF::Commands | |
| Commands () | |
| Commands constructor. | |
| ~Commands () override | |
| Commands destructor. | |
| bool | invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val) override |
| Invokes a method by method name and argument list, and gets the return value. | |
| Interpreter * | interpreter () |
| Gets the main Interpreter. | |
| void | set_chrono (bool value) |
| Sets whether timings are reported. | |
Public Member Functions inherited from OGF::Interface | |
| Interface () | |
| Interface constructor. | |
| ~Interface () override | |
| Interface destructor. | |
| Grob * | grob () const |
| Gets the Grob. | |
| SceneGraph * | scene_graph () const |
| Gets the SceneGraph. | |
| Grob * | get_grob () const |
| Gets the current Grob. | |
Public Member Functions inherited from OGF::Object | |
| Object (bool transient=false) | |
| Object constructor. | |
| ~Object () override | |
| Object destructor. | |
| virtual MetaClass * | meta_class () const |
| Gets the meta class. | |
| virtual void | set_meta_class (MetaClass *mclass) |
| Sets the meta class. | |
| unsigned int | 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. | |
| 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 Connection * | connect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name) |
| Connects a signal with a slot of another object. | |
| 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. | |
| MetaClass * | get_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 | set_property (const std::string &name, const Any &value) |
| Sets an individual property. | |
| 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 | |
| : void smooth_point_set( unsigned int nb_iterations = 1 | |
| unsigned int | nb_neighbors |
Public Attributes inherited from OGF::Commands | |
| : bool get_chrono() const { return chrono_ | |
Public Attributes inherited from OGF::Interface | |
| : virtual void set_grob(Grob* value) | |
Public Attributes inherited from OGF::Object | |
| : virtual index_t get_nb_elements() const | |
| : bool equals(const Object* other) const | |
Additional Inherited Members | |
Static Public Member Functions inherited from OGF::Commands | |
| static bool | command_is_running () |
| Tests whether a command is currently running. | |
Static Public Member Functions inherited from OGF::Object | |
| static Object * | id_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. | |
Protected Member Functions inherited from OGF::MeshGrobCommands | |
| virtual void | hide_attribute () |
| Hides an attribute shown by show_attribute(). | |
| virtual void | show_attribute (const std::string &attribute_name, MeshGrob *M=nullptr) |
| Shows an attribute. | |
| virtual void | show_charts (const std::string &attribute="chart") |
| Shows the charts, stored in the "chart" facet attribute. | |
| virtual void | show_mesh (MeshGrob *M=nullptr) |
| Shows the mesh. | |
| virtual void | set_vertices_visibility (bool visible) |
| Shows or hides the vertices in the current shader. | |
| void | show_vertices () |
| Shows the vertices in the current shader. | |
| void | hide_vertices () |
| Hides the vertices in the current shader. | |
| virtual void | show_UV (const std::string &UV_attribute_name="facet_corners.tex_coord", MeshGrob *M=nullptr) |
| Shows the parameterization of a mesh. | |
| virtual void | show_colors (const std::string &attribute="vertices.colors", MeshGrob *M=nullptr) |
| Shows the colors of a mesh. | |
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. | |
Protected Member Functions inherited from GEO::Counted | |
| Counted () | |
| Creates a reference counted object. | |
| virtual | ~Counted () |
| Destroys a reference counted object. | |
Commands that manipulate point sets.
Definition at line 55 of file mesh_grob_points_commands.h.
| void OGF::MeshGrobPointsCommands::create_vertex | ( | double | x, |
| double | y, | ||
| double | z, | ||
| bool | selected = false |
||
| ) |
Creates a new vertex at given coordinates.
| [in] | x,y,z | the coordinates of the point |
| [in] | selected | if true, mark created vertex as selection |
| void OGF::MeshGrobPointsCommands::detect_outliers | ( | index_t | nb = 10, |
| double | radius = 0.01, |
||
| bool | relative_radius = true |
||
| ) |
Marks isolated points as selection.
\menu Preprocessing
| [in] | nb | number of points in neighborhood |
| [in] | radius | maximum neighborhood size |
| [in] | relative_radius | radius is relative to object bbox diagonal. |
| void OGF::MeshGrobPointsCommands::estimate_density | ( | double | radius = 0.005, |
| bool | relative_radius = true, |
||
| const std::string & | attribute = "density" |
||
| ) |
Estimates the density.
\menu Preprocessing
| [in] | radius | estimated density is one over number of points within radius |
| [in] | relative_radius | radius is relative to object bbox diagonal. |
| [in] | attribute | name of the attribute where to store the estimated density |
| bool OGF::MeshGrobPointsCommands::estimate_normals | ( | index_t | nb_neighbors = 30, |
| bool | reorient = true |
||
| ) |
Estimates the normal vector to a point-sampled surface using K nearest neighbors. The computed normals are stored in the "normal" attribute.
\menu Preprocessing
Only normal directions are estimated. Normal orientations may be incoherent. This may require an additional bread-first traversal of the KNN graph to coherently orient normals.
| [in] | nb_neighbors | number of nearest neighbors (K). |
| [in] | reorient | if true, try to enforce coherent normal orientations by propagation over the KNN graph. |
| true | if normals were successfully estimated. \retbval false otherwise (when the user pushes the cancel button). |
| void OGF::MeshGrobPointsCommands::project_on_surface | ( | const MeshGrobName & | surface | ) |
Projects a mesh onto a surface.
| [in] | surface | the name of the surface |
| void OGF::MeshGrobPointsCommands::reconstruct_surface_Delaunay2d | ( | ) |
Reconstructs a surface from points using a 2D Delaunay triangulation. Can be used for Digital Elevation Models.
\menu Reconstruction
| void OGF::MeshGrobPointsCommands::reconstruct_surface_Poisson | ( | const NewMeshGrobName & | reconstruction = "reconstruction", |
| unsigned int | depth = 8 |
||
| ) |
Reconstructs a surface from points and normals using Misha Kahzdan's Screened Poisson Reconstruction.
\menu Reconstruction
| [in] | reconstruction | the name of the reconstructed surface |
| [in] | depth | the depth of the octree, 8 is the default value, use 10 or 11 for highly detailed models |
| void OGF::MeshGrobPointsCommands::reconstruct_surface_SSSR | ( | double | radius = 5.0, |
| unsigned int | nb_smoothing_iterations = 1, |
||
| unsigned int | nb_neighbors = 30 |
||
| ) |
Reconstructs a surface from a point set using Simple and Scalable Surface Reconstruction.
\menu Reconstruction
| [in] | radius | search radius for neighborhoods (in % of bbox diagonal) \advanced |
| [in] | nb_smoothing_iterations | number of smoothing iterations |
| [in] | nb_neighbors | number of neighbors for estimating tangent plane |
| MeshGrob * OGF::MeshGrobPointsCommands::sample_surface | ( | const NewMeshGrobName & | points = "points", |
| bool | copy_normals = false, |
||
| unsigned int | nb_points = 30000, |
||
| unsigned int | Lloyd_iter = 5, |
||
| unsigned int | Newton_iter = 30, |
||
| unsigned int | Newton_m = 7 |
||
| ) |
Creates a pointset that samples a surface.
\menu Sampling
| [in] | points | the created pointset |
| [in] | nb_points | number of points |
| [in] | copy_normals | if set, normals are copied from the surface \advanced |
| [in] | Lloyd_iter | number of Lloyd iterations for CVT. |
| [in] | Newton_iter | number of Newton iterations for CVT. |
| [in] | Newton_m | number of inner Newton iterations for CVT. |
| MeshGrob * OGF::MeshGrobPointsCommands::sample_volume | ( | const NewMeshGrobName & | points = "points", |
| unsigned int | nb_points = 30000, |
||
| unsigned int | Lloyd_iter = 5, |
||
| unsigned int | Newton_iter = 30, |
||
| unsigned int | Newton_m = 7 |
||
| ) |
Creates a pointset that samples a volume.
\menu Sampling
| [in] | points | the created pointset |
| [in] | nb_points | number of points \advanced |
| [in] | Lloyd_iter | number of Lloyd iterations for CVT. |
| [in] | Newton_iter | number of Newton iterations for CVT. |
| [in] | Newton_m | number of inner Newton iterations for CVT. |
| OGF::MeshGrobPointsCommands::__pad0__ |
Definition at line 65 of file mesh_grob_points_commands.h.
| unsigned int OGF::MeshGrobPointsCommands::nb_neighbors |
Definition at line 80 of file mesh_grob_points_commands.h.