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. More... | |
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. More... | |
void | estimate_density (double radius=0.005, bool relative_radius=true, const std::string &attribute="density") |
Estimates the density. More... | |
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. More... | |
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. More... | |
void | reconstruct_surface_Delaunay2d () |
Reconstructs a surface from points using a 2D Delaunay triangulation. Can be used for Digital Elevation Models. More... | |
void | 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. More... | |
void | 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. More... | |
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. More... | |
void | project_on_surface (const MeshGrobName &surface) |
Projects a mesh onto a surface. More... | |
Public Member Functions inherited from OGF::MeshGrobCommands | |
MeshGrobCommands () | |
MeshGrobCommands constructor. | |
~MeshGrobCommands () override | |
MeshGrobCommands destructor. | |
MeshGrob * | mesh_grob () const |
Gets the MeshGrob. More... | |
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. More... | |
Interpreter * | interpreter () |
Gets the main Interpreter. More... | |
void | set_chrono (bool value) |
Sets whether timings are reported. More... | |
Public Member Functions inherited from OGF::Interface | |
Interface () | |
Interface constructor. | |
~Interface () override | |
Interface destructor. | |
Grob * | grob () const |
Gets the Grob. More... | |
SceneGraph * | scene_graph () const |
Gets the SceneGraph. More... | |
Grob * | get_grob () const |
Gets the current Grob. More... | |
Public Member Functions inherited from OGF::Object | |
Object (bool transient=false) | |
Object constructor. More... | |
virtual | ~Object () |
Object destructor. | |
virtual MetaClass * | meta_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... | |
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 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. 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... | |
MetaClass * | get_meta_class () const |
Gets the meta class. More... | |
std::string | get_string_id () const |
Gets the unique string identifier. More... | |
virtual std::string | get_doc () const |
Gets the documentation. More... | |
virtual Sign | compare (const Object *other) const |
Compares this object with another one. More... | |
virtual bool | is_a (const MetaType *type) const |
Tests whether this object inherits a given type. More... | |
void | disconnect () |
Removes all connections from signals of this objects. More... | |
void | enable_signals () |
Enables signals. | |
void | disable_signals () |
Disables signals. | |
void | enable_slots () |
Enables slots. | |
void | disable_slots () |
Disables slots. | |
void | set_properties (const ArgList &args) |
Sets several properties in a single call. More... | |
virtual bool | set_property (const std::string &name, const std::string &value) |
Sets an individual property. More... | |
void | help () const |
Displays some help about this object. More... | |
virtual bool | set_property (const std::string &name, const Any &value) |
Sets an individual property. More... | |
virtual bool | get_property (const std::string &prop_name, Any &prop_value) const |
Gets a property. More... | |
Public Member Functions inherited from GEO::Counted | |
void | ref () const |
Increments the reference count. More... | |
void | unref () const |
Decrements the reference count. More... | |
bool | is_shared () const |
Check if the object is shared. More... | |
int | nb_refs () const |
Gets the number of references that point to this object. More... | |
Public Attributes | |
__pad0__: void smooth_point_set( unsigned int nb_iterations = 1 | |
unsigned int | nb_neighbors |
Public Attributes inherited from OGF::Commands | |
__pad0__: bool get_chrono() const { return chrono_ | |
Public Attributes inherited from OGF::Interface | |
__pad0__: virtual void set_grob(Grob* value) | |
Public Attributes inherited from OGF::Object | |
__pad0__: virtual index_t get_nb_elements() const | |
__pad1__: 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. More... | |
Static Public Member Functions inherited from OGF::Object | |
static Object * | id_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... | |
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. More... | |
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. More... | |
virtual void | set_vertices_visibility (bool visible) |
Shows or hides the vertices in the current shader. More... | |
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. More... | |
virtual void | show_colors (const std::string &attribute="vertices.colors", MeshGrob *M=nullptr) |
Shows the colors of a mesh. 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... | |
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 |
void 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. |
void 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. |
unsigned int OGF::MeshGrobPointsCommands::nb_neighbors |
Definition at line 80 of file mesh_grob_points_commands.h.