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

Commands that manipulate point sets. More...

#include <OGF/mesh/commands/mesh_grob_points_commands.h>

Inheritance diagram for OGF::MeshGrobPointsCommands:
OGF::MeshGrobCommands OGF::Commands OGF::Interface OGF::Object GEO::Counted

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.
 
MeshGrobmesh_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...
 
Interpreterinterpreter ()
 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.
 
Grobgrob () const
 Gets the Grob. More...
 
SceneGraphscene_graph () const
 Gets the SceneGraph. More...
 
Grobget_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 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...
 
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 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 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...
 
- 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...
 

Detailed Description

Commands that manipulate point sets.

Definition at line 55 of file mesh_grob_points_commands.h.

Member Function Documentation

◆ create_vertex()

void OGF::MeshGrobPointsCommands::create_vertex ( double  x,
double  y,
double  z,
bool  selected = false 
)

Creates a new vertex at given coordinates.

Parameters
[in]x,y,zthe coordinates of the point
[in]selectedif true, mark created vertex as selection

◆ detect_outliers()

void OGF::MeshGrobPointsCommands::detect_outliers ( index_t  nb = 10,
double  radius = 0.01,
bool  relative_radius = true 
)

Marks isolated points as selection.

\menu Preprocessing

Parameters
[in]nbnumber of points in neighborhood
[in]radiusmaximum neighborhood size
[in]relative_radiusradius is relative to object bbox diagonal.

◆ estimate_density()

void OGF::MeshGrobPointsCommands::estimate_density ( double  radius = 0.005,
bool  relative_radius = true,
const std::string &  attribute = "density" 
)

Estimates the density.

\menu Preprocessing

Parameters
[in]radiusestimated density is one over number of points within radius
[in]relative_radiusradius is relative to object bbox diagonal.
[in]attributename of the attribute where to store the estimated density

◆ estimate_normals()

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.

Parameters
[in]nb_neighborsnumber of nearest neighbors (K).
[in]reorientif true, try to enforce coherent normal orientations by propagation over the KNN graph.
Return values
trueif normals were successfully estimated. \retbval false otherwise (when the user pushes the cancel button).

◆ project_on_surface()

void OGF::MeshGrobPointsCommands::project_on_surface ( const MeshGrobName surface)

Projects a mesh onto a surface.

Parameters
[in]surfacethe name of the surface

◆ reconstruct_surface_Delaunay2d()

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

◆ reconstruct_surface_Poisson()

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

Parameters
[in]reconstructionthe name of the reconstructed surface
[in]depththe depth of the octree, 8 is the default value, use 10 or 11 for highly detailed models

◆ reconstruct_surface_SSSR()

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

Parameters
[in]radiussearch radius for neighborhoods (in % of bbox diagonal) \advanced
[in]nb_smoothing_iterationsnumber of smoothing iterations
[in]nb_neighborsnumber of neighbors for estimating tangent plane

◆ sample_surface()

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

Parameters
[in]pointsthe created pointset
[in]nb_pointsnumber of points
[in]copy_normalsif set, normals are copied from the surface \advanced
[in]Lloyd_iternumber of Lloyd iterations for CVT.
[in]Newton_iternumber of Newton iterations for CVT.
[in]Newton_mnumber of inner Newton iterations for CVT.

◆ sample_volume()

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

Parameters
[in]pointsthe created pointset
[in]nb_pointsnumber of points \advanced
[in]Lloyd_iternumber of Lloyd iterations for CVT.
[in]Newton_iternumber of Newton iterations for CVT.
[in]Newton_mnumber of inner Newton iterations for CVT.

Member Data Documentation

◆ nb_neighbors

unsigned int OGF::MeshGrobPointsCommands::nb_neighbors
Initial value:
= 30
)

Definition at line 80 of file mesh_grob_points_commands.h.


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