-
Notifications
You must be signed in to change notification settings - Fork 19
Mesh
-
Points/Preprocessing/smooth_point_set
: Smoothes a pointset by projection onto local planes.arg name type default value description nb_iterations unsigned int 1 number of smoothing iterations. nb_neighbors unsigned int 30 number of neighbors for estimating tangent plane. -
Points/Preprocessing/detect_outliers
: Marks isolated points as selection.arg name type default value description nb unsigned int 10 number of points in neighborhood radius double 0.01 maximum neighborhood size relative_radius bool true radius is relative to object bbox diagonal. -
Points/Preprocessing/estimate_normals
: Estimates the normal vector to a point-sampled surface using K nearest neighbors. The computed normals are stored in the normal attribute.arg name type default value description nb_neighbors unsigned int 30 number of nearest neighbors (K). reorient bool true if true, try to enforce coherent normal orientations by propagation over the KNN graph. -
Points/Preprocessing/estimate_density
: Estimates the density.arg name type default value description radius double 0.005 estimated density is one over number of points within radius relative_radius bool true radius is relative to object bbox diagonal. attribute std::string density name of the attribute where to store the estimated density
-
Points/Reconstruction/reconstruct_surface_SSSR
: Reconstructs a surface from a point set using Simple and Scalable Surface Reconstruction.arg name type default value description advanced radius double 5 search radius for neighborhoods (in % of bbox diagonal) nb_smoothing_iterations unsigned int 1 number of smoothing iterations * nb_neighbors unsigned int 30 number of neighbors for estimating tangent plane * -
Points/Reconstruction/reconstruct_surface_Poisson
: Reconstructs a surface from points and normals using Misha Kahzdan s Screened Poisson Reconstruction.arg name type default value description reconstruction OGF::NewMeshGrobName reconstruction the name of the reconstructed surface depth unsigned int 8 the depth of the octree, 8 is the default value, use 10 or 11 for highly detailed models -
Points/Reconstruction/reconstruct_surface_Delaunay2d
: Reconstructs a surface from points using a 2D Delaunay triangulation. Can be used for Digital Elevation Models.
-
Points/Sampling/sample_surface
: Creates a pointset that samples a surface.arg name type default value description advanced points OGF::NewMeshGrobName points the created pointset copy_normals bool false if set, normals are copied from the surface nb_points unsigned int 30000 number of points Lloyd_iter unsigned int 5 number of Lloyd iterations for CVT. * Newton_iter unsigned int 30 number of Newton iterations for CVT. * Newton_m unsigned int 7 number of inner Newton iterations for CVT. * -
Points/Sampling/sample_volume
: Creates a pointset that samples a volume.arg name type default value description advanced points OGF::NewMeshGrobName points the created pointset nb_points unsigned int 30000 number of points Lloyd_iter unsigned int 5 number of Lloyd iterations for CVT. * Newton_iter unsigned int 30 number of Newton iterations for CVT. * Newton_m unsigned int 7 number of inner Newton iterations for CVT. *
-
Points/delete_selected_points
: Delete all points marked as selection. -
Points/create_vertex
: Creates a new vertex at given coordinates.arg name type default value description x double N/A , y , z the coordinates of the point y double N/A N/A z double N/A N/A selected bool false if true, mark created vertex as selection
-
Surface/Repair/repair_surface
: Tentatively fixes some defects in a surfacearg name type default value description epsilon double 1e-06 Tolerance for merging vertices, in % of bbox diagonal. min_comp_area double 0.03 Minimum area of a connected component, in % of surface area max_hole_area double 0.001 Maximum area of holes to be filled, in % of surface area. max_hole_edges double 2000 Maximum number of edges in each hole to be filled. max_degree3_dist double 0 Maximum distance for removing degree 3 vertices, in % of bbox diagonal. remove_intersections bool false Tentatively remove self-intersections. -
Surface/Repair/merge_vertices
: Merges vertices that are at the same location or within tolerancearg name type default value description epsilon double 1e-06 Tolerance for merging vertices, in % of bbox diagonal. -
Surface/Repair/expand_border
: Preprocessing for remesh_feature_sensitivearg name type default value description margin double 0.05 margin to be added to borders, in % of bbox diagonal. -
Surface/Repair/fill_holes
: Fills the holes of the surface.arg name type default value description max_nb_vertices unsigned int 0 maximum number of vertices around a hole. -
Surface/Repair/fix_facets_orientation
: Fixes facets orientation based on computed visibility. -
Surface/Repair/remove_invisible_facets
: Removes all facets that have visibility smaller than a given threshold.arg name type default value description min_visibility double 0.005 minimum visibility to keep a facet
-
Surface/Remesh/remesh_smooth
: Remeshes a (smooth) surface.arg name type default value description advanced remesh_name OGF::NewMeshGrobName remesh name of the generated surface mesh. nb_points unsigned int 30000 desired number of points in the generated mesh. tri_shape_adapt double 1 adapt triangle shapes (0.0 means no shape adapation, 1.0 for moderate shape adaptation, ...) tri_size_adapt double 0 adapt triangle sizes (0.0 means no size adaptation, 1.0 for moderate size adaptation, ...) normal_iter unsigned int 3 number of normal smoothing iterations (if anisotropy is non-zero). * Lloyd_iter unsigned int 5 number of Lloyd iterations for CVT. * Newton_iter unsigned int 30 number of Newton iterations for CVT. * Newton_m unsigned int 7 number of inner Newton iterations for CVT. * LFS_samples unsigned int 10000 number of samples. used to compute gradation. * -
Surface/Remesh/remesh_feature_sensitive
: Remeshes a surface that has sharp features.arg name type default value description advanced surface_name OGF::NewMeshGrobName remesh name of the generated mesh. nb_points unsigned int 30000 desired number of points in the generated mesh. refine bool false refine border in order to lower Haussdorff distance. max_dist double 0.5 maximum distance to reference, as a fraction of generated mesh average edge length. normal_anisotropy double 5 determines how sharp features are taken into account. * nb_Lloyd_iter unsigned int 5 number of Lloyd iterations for CVT. * nb_Newton_iter unsigned int 30 number of Newton iterations for CVT. * nb_LpCVT_iter unsigned int 10 number of feature-sensitive iterations. * Newton_m unsigned int 7 number of inner Newton iterations for CVT. * RVC_centroids bool false use centroids of restricted Voronoi cells. * -
Surface/Remesh/remesh_quad_dominant
: Generates a quad-dominant mesharg name type default value description surface_name OGF::NewMeshGrobName remesh name of the generated mesh. rel_edge_len double 1 relative edge length. sharp_features bool true true for CAD mesh, false otherwise optimize_parity bool false tentatively optimize parity. max_scaling_corr double 1 maximum scaling correction (use 1.0 to disable). -
Surface/Remesh/decimate
: Simplifies a surface using vertex clustering.arg name type default value description nb_bins unsigned int 100 the higher, the more detailed mesh. remove_deg3_vrtx bool true if true, remove degree 3 vertices keep_borders bool true if true, do not decimate vertices on the border repair bool true if true, repairs the mesh to remove non-manifold edges and borders
-
Surface/Boolean operations (experimental)/compute_union
: Computes the union between two meshes.arg name type default value description other OGF::MeshGrobName N/A name of the other mesh result OGF::NewMeshGrobName result name of the result mesh pre_process bool false triangulate, inputs, remove small edges, make sure there is no intersection post_process bool true triangulate result, remove small edges, make sure there is no intersection -
Surface/Boolean operations (experimental)/compute_intersection
: Computes the intersection between two meshes.arg name type default value description other OGF::MeshGrobName N/A name of the other mesh result OGF::NewMeshGrobName result name of the result mesh pre_process bool false triangulate, inputs, remove small edges, make sure there is no intersection post_process bool true triangulate result, remove small edges, make sure there is no intersection -
Surface/Boolean operations (experimental)/compute_difference
: Computes the difference between two meshes.arg name type default value description other OGF::MeshGrobName N/A name of the other mesh result OGF::NewMeshGrobName result name of the result mesh pre_process bool false triangulate, inputs, remove small edges, make sure there is no intersection post_process bool true triangulate result, remove small edges, make sure there is no intersection
-
Surface/project_vertices_on_surface
: Projects a mesh onto a surfacearg name type default value description surface OGF::MeshGrobName N/A the name of the surface
-
Surface/Subdivision/split_triangles
: Splits all the triangles of a simplicial mesh into four triangles.arg name type default value description nb_times unsigned int 1 number of times the triangles are split. -
Surface/Subdivision/split_quads
: Splits all the facets of a mesh into quads.arg name type default value description nb_times unsigned int 1 number of times the facets are split. -
Surface/Subdivision/split_catmull_clark
: Splits all the facets of a mesh into quads using Catmull-Clark subdivision.arg name type default value description nb_times unsigned int 1 number of times the facets are split. -
Surface/Subdivision/tessellate_facets
: Subdivides the facets until they have less than the specified number of vertices.arg name type default value description max_vertices_per_facet unsigned int 4 N/A -
Surface/Subdivision/triangulate
: Triangulates all the facets. -
Surface/Subdivision/triangulate_center_vertex
: Triangulates all the facets by inserting a vertex in the center of each facet.
-
Surface/smooth
: Smooths the mesh by optimizing the vertices that are not selected. Selected vertices are locked.
-
Surface/Atlas/make_texture_atlas
: Computes texture coordinates of a surface.arg name type default value description unglue_sharp_edges bool true if true, ungle edegs with angle larger than threshold sharp_angles_threshold double 45 if the angle between the normals of two adjacent facets is larger than this threshold then the edge will be a chart boundary. param GEO::ChartParameterizer PARAM_ABF the algorithm used for parameterizing the charts. use ABF for best quality, or LSCM for faster result. pack GEO::ChartPacker PACK_TETRIS one of PACK_TETRIS, PACK_XATLAS verbose bool false if true, display statistics during atlas generation. -
Surface/Atlas/pack_texture_space
: Packs charts in texture spacearg name type default value description pack GEO::ChartPacker PACK_TETRIS one of PACK_TETRIS, PACK_XATLAS -
Surface/Atlas/parameterize_chart
: Computes texture coordinates of a single unfoldable surface.arg name type default value description attribute std::string tex_coord the name of the attribute that will store texture coordinates. param GEO::ChartParameterizer PARAM_LSCM one of LSCM, SpectralLSCM, ABFplusplus. verbose bool false if true, display statistics during atlas generation. -
Surface/Atlas/bake_normals
: Bakes normals from a surface to the texture atlas.arg name type default value description surface OGF::MeshGrobName N/A the name of the mesh with normals to be baked. can be the current mesh or another one with higher-resolution normals. size unsigned int 1024 pixel-size of the generated normal map. image OGF::NewImageFileName normals.png filename of the generated normal map. nb_dilate unsigned int 2 number of dilations tex_coord std::string tex_coord the name of the facet corner attribute that stores texture coordinates. -
Surface/Atlas/bake_colors
: Bakes normals from a surface to the texture atlas.arg name type default value description surface OGF::MeshGrobName N/A the name of the mesh with colors to be baked. can be the current mesh or another one with higher-resolution. color std::string color the name of the attribute with the colors to be baked. size unsigned int 1024 pixel-size of the generated normal map. image OGF::NewImageFileName colors.png filename of the generated normal map. nb_dilate unsigned int 2 number of dilations attribute std::string tex_coord the name of the facet corner attribute that stores texture coordinates.
-
Surface/Shapes/create_square
: Creates a new square in the current mesh.arg name type default value description x1 double 0 N/A y1 double 0 N/A z1 double 0 N/A x2 double 1 N/A y2 double 0 N/A z2 double 0 N/A x3 double 1 N/A y3 double 1 N/A z3 double 0 N/A x4 double 0 N/A y4 double 1 N/A z4 double 0 N/A -
Surface/Shapes/create_cube
: Creates a new cube in the current mesh.arg name type default value description x1 double 0 N/A y1 double 0 N/A z1 double 0 N/A x2 double 1 N/A y2 double 1 N/A z2 double 1 N/A -
Surface/Shapes/create_cylinder
: Creates a new cylinder in the current mesh.arg name type default value description center GEO::vec3 0 0 0 N/A X_axis GEO::vec3 0.25 0 0 N/A Y_axis GEO::vec3 0 0.25 0 N/A Z_axis GEO::vec3 0 0 1 N/A precision unsigned int 10 N/A -
Surface/Shapes/create_icosahedron
: Creates a new icosahedron in the current mesh. -
Surface/Shapes/create_sphere
: Creates a mesh that approximates a sphere.arg name type default value description precision unsigned int 4 number of time the initial icosahedron is split (there are 20*4^precision triangles in the final mesh) radius double 1 N/A center GEO::vec3 0 0 0 N/A -
Surface/Shapes/create_ngon
: Creates a new ngon in the current mesh.arg name type default value description center GEO::vec3 0 0 0 N/A R double 1 N/A nb_edges unsigned int 6 N/A triangulate bool true N/A -
Surface/Shapes/create_from_bounding_box
: Creates a surfacic mesh from the bounding box of an object.arg name type default value description grob OGF::GrobName N/A the object nb_split unsigned int 0 the number of times the facets of the bounding box should be split into smaller quads.
-
Surface/Spectral/compute_manifold_harmonics
: Computes manifold harmonics (Laplacien eigenfunctions)arg name type default value description nb_eigens unsigned int 30 number of eigenfunctions to compute discretization GEO::LaplaceBeltramiDiscretization FEM_P1_LUMPED discretization of the Laplace Beltrami operator attribute std::string eigen name of the attribute used to store the eigenvectors shift double 0 eigen shift applied to explore a certain part of the spectrum. nb_eigens_per_band unsigned int 0 if non-zero, use band-by-band computation. print_spectrum bool false if true, prints eigenvalue to the terminal.
-
Volume/tet_meshing
: Fills a closed surface mesh with tetrahedra, using tetgen.arg name type default value description preprocess bool true Tentatively fix degeneracies in the input mesh refine bool true Create additional vertices to improve quality. quality double 1 1.0 for high quality, 5.0 for low quality. verbose bool false enables tetgen statistics and messages. keep_regions bool false N/A -
Volume/hex_dominant_meshing
: Fills a closed mesh with hexaedra (+other cells).arg name type default value description advanced hexdom_name OGF::NewMeshGrobName hexes name of the generated mesh. nb_points unsigned int 30000 desired number of points in the generated mesh. prisms bool true generate prisms. pyramids bool true generate pyramids. border_refine bool false refine border in order to lower Haussdorff distance. border_max_dist double 0.2 maximum distance to reference, as a fraction of input mesh average edge length (TODO: check). min_normal_cos double 0.5 minimum angle cosine between two triangular faces merged into an hex face. * max_corner_cos double 0.6 maximum angle cosine at a quad corner. * -
Volume/Voronoi_meshing
: Generates a Voronoi mesh from a volume and points.arg name type default value description advanced voronoi OGF::NewMeshGrobName voronoi name of the generated Voronoi mesh nb_cells unsigned int 1000 number of Voronoi cells to generate simplification OGF::MeshGrobVolumeCommands::VoronoiSimplification simplify_tet_voro specifies how cells and faces should be simplified angle_threshold double 0.001 (in degrees) simplify boundary edges whenever their facets have normal angle smaller than threshold shrink double 0 optional shrink factor for displaying cells points OGF::NewMeshGrobName optional name of the pointset used to compute the Voronoi diagram * exact bool true if true, all intersection perdicates are evaluated with exact arithmetics and symbolic perturbations * tessellate_non_convex bool false N/A generate_ids bool true if true, generate ids in attributes. Necessary to output OVM files. * medial_axis bool false if true, generate an approximation of the medial axis (by removing facets from the computed mesh). * -
Volume/volume_mesh_statistics
: Computes and displays various statistics for a hex-dominant mesh.arg name type default value description save_histo bool false if true, save dihedral and facet angle histograms nb_bins unsigned int 100 number of bins in the computed histograms
-
Volume/Advanced/tet_meshing_with_points
: Creates a tetrahedral mesh from a closed surface mesh and a pointset, using tetgen. Initial closed surface is remeshed.arg name type default value description points OGF::MeshGrobName N/A a pointset that will be inserted into the generated tetrahedral mesh tetrahedra OGF::NewMeshGrobName tetrahedra the name of the generated tetrahedralized mesh refine_surface bool false if true, insert vertices until distance to max_distance double 0.2 maximum distance to original surface, as a proportion of average edge length of original surface -
Volume/Advanced/tet2hex
: Converts a tetrahedral mesh into a hexahedral dominant mesh by merging tetrahedraarg name type default value description advanced hexdom_name OGF::NewMeshGrobName hexes name of the generated mesh. prisms bool true generate prisms. pyramids bool true generate pyramids. min_normal_cos double 0.5 minimum angle cosine between two triangular faces merged into an hex face. * max_corner_cos double 0.6 maximum angle cosine at a quad corner. * -
Volume/Advanced/remesh_tetrahedra
: Extracts the boundary of the zone with tetrahedral cells and remeshes it using Tetgen.arg name type default value description quality double 0.5 1.0 for high quality, 5.0 for low quality.
-
Volume/display_volume
: Displays the volume of a mesh. -
Volume/compute_borders
: Copies the border of the volume into the surfacic part of the mesh.
-
Mesh/display_statistics
: displays some statistics about the current mesh. -
Mesh/display_topology
: computes and displays some topological invariants. -
Mesh/copy
: Copies a mesh.arg name type default value description name std::string N/A name of the newly created mesh. edges bool true copy edges. facets bool true copy facets. cells bool true copy cells. attributes bool true copy attributes. kill_isolated_vx bool false if true, vertices that are no longer connected to anything are discarded. -
Mesh/remove_mesh_elements
: Remove mesh elements.arg name type default value description vertices bool false if set, removes everything ! edges bool false remove all mesh edges. facets bool false remove all mesh facets. cells bool false remove all mesh cells. kill_isolated_vx bool false if true, vertices. that are no longer connected to anything are discarded. -
Mesh/remove_isolated_vertices
: Remove isolated vertices. -
Mesh/normalize_mesh
: Scales and translates a mesh to fit within a sphere.arg name type default value description Cx double 0 x coordinate of the center. Cy double 0 y coordinate of the center. Cz double 0 z coordinate of the center. radius double 1 radius of the bounding sphere. -
Mesh/normalize_mesh_box
: Scales and translates a mesh to fit within a box.arg name type default value description xmin double 0 , ymin , zmin, xmax , ymax, zmax extent of the box. ymin double 0 N/A zmin double 0 N/A xmax double 1 N/A ymax double 1 N/A zmax double 1 N/A uniform bool true if true, coordinates are scaled uniformly, else they are scaled to fit the box exactly.
-
Mesh/selection/vertices/select_all_vertices
: Selects all the vertices of the mesh. -
Mesh/selection/vertices/unselect_all_vertices
: Unselect all the vertices of the mesh. -
Mesh/selection/vertices/invert_vertices_selection
: Inverts vertices selection. -
Mesh/selection/vertices/select_vertices_on_surface_border
: Selects all the vertices on the border of a surface. -
Mesh/selection/vertices/unselect_vertices_on_surface_border
: Unselects all the vertices on the border of a surface. -
Mesh/selection/vertices/delete_selected_vertices
: Deletes the selected verticesarg name type default value description remove_isolated bool true if set, remove isolated vertices. -
Mesh/selection/vertices/select_duplicated_vertices
: Selects all the vertices that are duplicated in a mesh.arg name type default value description tolerance double 0 maximum distance for considering that two vertices are duplicated.
-
Attributes/delete_attribute
: Deletes an attribute.arg name type default value description name std::string N/A the name of the attribute, for instance vertices.distance
-
Attributes/Vertices/compute_vertices_id
: Stores the vertices ids in an attribute.arg name type default value description attribute std::string id the name of the vertex attribute -
Attributes/Vertices/compute_distance_to_surface
: Computes the distance between each vertex and a surface.arg name type default value description surface OGF::MeshGrobName N/A the surface attribute std::string distance the name of the vertex attribute -
Attributes/Vertices/compute_local_feature_size
: Computes the distance to an approximation of the medial axis of a surface.arg name type default value description surface OGF::MeshGrobName N/A a pointset that samples the surface attribute std::string lfs the name of the vertex attribute -
Attributes/Vertices/compute_ambient_occlusion
: Computes per-vertex ambient occlusion.arg name type default value description attribute std::string AO the name of the vertex attribute nb_rays_per_vertex unsigned int 100 number of rays used to sample directions. The higher, the more precise. nb_smoothing_iterations unsigned int 2 blur the result a little bit to hide sampling noise
-
Attributes/Edges/compute_edges_id
: Stores the edges ids in an attribute.arg name type default value description attribute std::string id the name of the edge attribute
-
Attributes/Facets/compute_facets_id
: Stores the facets ids in an attribute.arg name type default value description attribute std::string id the name of the facet attribute -
Attributes/Facets/compute_facets_visibility
: Computes facets visibility from random views.arg name type default value description nb_views unsigned int 1000 number of views dual_sided bool true if true, facets seen as backfacing count as negative.
-
Attributes/Cells/compute_cells_id
: Stores the cells ids in an attribute.arg name type default value description attribute std::string id the name of the cell attribute
-
Attributes/copy_texture_colors
: Copies colors from a textured surface.arg name type default value description surface OGF::MeshGrobName N/A the surface mesh texture OGF::ImageFileName N/A the texture image file copy_tex_coords bool false if true, copy tex coords in an additional attribute
-
Transport/Pre-processing/align
: Aligns two meshes before optimal transport.arg name type default value description target OGF::MeshGrobName N/A the name of the target mesh recenter bool true if true, recenter current on target rescale bool true if true, rescale current in such a way it has the same volume as the target -
Transport/Pre-processing/set_density_by_formula
: Creates varying densities for optimal transport.arg name type default value description density1 double 1 minimum value of the density density2 double 10 maximum value of the density function std::string sin^2 specification of the function to be used, in the form (+ reference std::string if specified and func is dist , distance is computed relative to this surface, else it is computed relative to the current surface -
Transport/Pre-processing/create_regular_sampling
: Creates a regular sampling of the current object.arg name type default value description sampling OGF::NewMeshGrobName points the name of the created object nb unsigned int 30 the number of samples per axis -
Transport/Pre-processing/perturb
: Applies a random perturbation to all the vertices of a mesh.arg name type default value description howmuch double N/A the magnitude of the perturbation -
Transport/Pre-processing/init_Euler
: Moves points to barycenters of Laguerre cellsarg name type default value description omega OGF::MeshGrobName N/A name of the domain mode OGF::MeshGrobTransportCommands::EulerMode N/A one of EULER_2D, EULER_3D, EULER_ON_SURFACE air_particles OGF::NewMeshGrobName N/A fluid_omega0 OGF::NewMeshGrobName N/A -
Transport/Pre-processing/get_density
: Computes the density given by mass attribute and domain volume.arg name type default value description domain OGF::MeshGrobName N/A N/A -
Transport/Pre-processing/set_density
: Sets point masses from specified density and domain volumearg name type default value description domain OGF::MeshGrobName N/A N/A density double N/A N/A -
Transport/Pre-processing/append_points
: Append points and mass attributearg name type default value description points OGF::MeshGrobName N/A N/A -
Transport/Pre-processing/shell_mesh
: Generates a volumetric mesh that fills the space between the current mesh and an external shell.arg name type default value description shell OGF::MeshGrobName N/A the shell inner_density double 1 density inside the object outer_density_max double 1 density on the part of the generated mesh that touches the object outer_density_min double 0.1 density on the part of the generated mesh that is furthest away from the object gamma double 10 exponent applied to the density shell_only bool false if set, do not generate tetrahedra inside the current mesh. -
Transport/Pre-processing/crop_domain
: Keeps only the mesh elements that are inside a certain domain.arg name type default value description domain OGF::MeshGrobName omega the name of the domain mesh. -
Transport/Pre-processing/crop_region
: Keeps only the mesh elements that are inside a certain region.arg name type default value description xmin double 0 N/A ymin double 0 N/A zmin double 0 N/A xmax double 1 N/A ymax double 1 N/A zmax double 1 N/A cell_center bool true if true, cells that have their centers in the region are kept, else only cells fully included in the region are kept. per_vertices bool false if true, vertices that are outside the region are deleted, as well as all mesh elements incident to them. -
Transport/Pre-processing/sample_regions
: Samples the different regions of a volumetric mesh with points.arg name type default value description points std::string points the name of the created pointset. total_nb_points unsigned int 30000 total number of points. region1_mass double 0.001 , region2_mass , region3_mass masses of the points in the different regions. Leave 0 for regions with no points. region2_mass double 1 N/A region3_mass double 0 N/A region4_mass double 0 N/A region5_mass double 0 N/A -
Transport/Pre-processing/inflate
: Inflates a mesh to encompass a given pointsetarg name type default value description points OGF::MeshGrobName points N/A R0 double 0 N/A R1 double 0 N/A nb_rings unsigned int 0 N/A
-
Transport/Compute/transport_3d
: Computes the optimal transport between this volumetric mesh and another one.arg name type default value description advanced target OGF::MeshGrobName N/A name of the target volumetric mesh nb_points unsigned int 10000 number of points to be created to sample the target proj_border bool true if true, points near the border are projected onto the boundary of the target result OGF::NewMeshGrobName morph name of the computed morphing Newton bool false if true use Newton solver sampling OGF::NewMeshGrobName (optional) name of the computed target sampling * singular_set OGF::NewMeshGrobName (optional) compute the discontinuities * regularization double 0 (optional) if non-zero, add regularization * BRIO bool true if true, use Biased Random Insertion Order [Amenta et.al] * multilevel bool true if true, use multilevel sampling (note: BRIO implies multilevel) * ratio double 0.125 ratio between the sizes of two sucessive levels * nb_iter unsigned int 1000 maximum number of iterations * epsilon double 0.01 maximum relative measure error in a cell * linsolve_nb_iter unsigned int 1000 the maximum number of iterations for linear solves * linsolve_epsilon double 0.001 the maximum value of * save_RVD_iter bool false if true, save all iterations * show_RVD_center bool false if true and savev_RVD_iter, shows center of cells attached to cells * save_last_iter bool false if true, save only last iteration * -
Transport/Compute/early_universe_reconstruction
: Computes Early Universe Reconstruction.arg name type default value description points OGF::MeshGrobName N/A the pointset scaling_factor double 10 multiply all coordinates to improve stability Newton_epsilon double 1e-10 maximum relative measure error in a cell max_Newton_iter unsigned int 20 maximum number of Newton iterations linesearch_init_iter unsigned int 10 first iteration for linesearch max_linesearch_iter unsigned int 20 maximum number of line search iterations linsolve_epsilon double 0.01 tolerance for linear solve max_linsolve_iter unsigned int 1000 maximum number of linear solve iterations regularization double 0 (optional) if non-zero, add regularization -
Transport/Compute/isoarea_Laguerre_2d
: Computes a Laguerre diagram where the cells have all the same areasarg name type default value description advanced points OGF::NewMeshGrobName points the generated pointset laguerre OGF::NewMeshGrobName Laguerre the generated Laguerre diagram air OGF::NewMeshGrobName an optional pointset with air particles air_fraction double 0.5 if air is specified, fraction of total surface occupied by air particles surface3D bool false true if the surface is 3D, else 2D nb_points unsigned int 1000 number of points nb_iter unsigned int 1000 number of Newton iterations * epsilon double 0.01 maximum relative measure error in a cell * regul double 0.001 regularization term * solver GEO::OTLinearSolver OT_PRECG one of OT_PRECG, OT_SUPERLU, OT_CHOLMOD * -
Transport/Compute/symmetric_transport_3d
: Computes symetrized semi-discrete transport between two objects.arg name type default value description other OGF::MeshGrobName N/A the other object nb_points unsigned int 10000 number of points thissampling OGF::NewMeshGrobName points1 sampling of this object othersampling OGF::NewMeshGrobName points2 sampling of the other object nb_iter unsigned int 4 number of symmetric transport iterations -
Transport/Compute/Euler2d
: Performs one step of incompressible Euler simulation in 2darg name type default value description advanced omega OGF::MeshGrobName N/A the volumetric mesh with the domain tau double 0.001 time step * epsilon double 0.004 should be smaller than tau * g double 10 gravity * nb_iter unsigned int 1 number of time steps save_every unsigned int 0 save object every nnn * first_iter unsigned int 0 number of the first iteration, used to name files correctly when doing multiple runs * show_RVD bool false show Laguerre diagram show_centroids bool false show centroids verbose bool false if set, displays status messages during optimization. * project_every unsigned int 0 if non-zero, relocate each point to the barycenter of its cell every nnn interations. * air_particles OGF::NewMeshGrobName pointset with air particles if any * fluid_omega0 OGF::NewMeshGrobName initial domain occupied by the fluid if any * physical bool true if true, then update using Newton second law, else update as in initial article. true if using F=ma, else uses F=a * no_transport bool false if true, just use non-optimized Voronoi diagram * -
Transport/Compute/Euler3d
: Performs one step of incompressible Euler simulation in 3darg name type default value description advanced omega OGF::MeshGrobName N/A the volumetric mesh with the domain tau double 0.001 time step * epsilon double 0.004 should be smaller than tau * g double 10 gravity * nb_iter unsigned int 1 number of time steps save_every unsigned int 0 save object every nnn * first_iter unsigned int 0 number of the first iteration, used to name files correctly when doing multiple runs * compute_interface bool false if set, compute the interface between fluides of different densities split_interface bool false if set, apply two steps of Catmull-Clark subdivision to the interface, to make it smoother verbose bool true if set, messages are displayed during optimization. * project_every unsigned int 0 if non-zero, relocate each point to the barycenter of its cell every nnn interations. * physical bool true if true, then update using Newton second law, else update as in initial article. * -
Transport/Compute/Euler_on_surface
: Performs one step of incompressible Euler simulation on surfacearg name type default value description advanced omega OGF::MeshGrobName N/A the surfacic mesh with the domain tau double 0.001 time step * epsilon double 0.004 should be smaller than tau * g double 10 gravity * nb_iter unsigned int 1 number of time steps compute_RVD bool false show Laguerre diagram verbose bool false if set, messages are displayed during optimization. * project_every unsigned int 0 if non-zero, relocate each point to the barycenter of its cell every nnn interations. * physical bool true if true, then update using Newton second law, else update as in initial article. * -
Transport/Compute/optimize_VSDM
: Fits a surface to another one using Voronoi Squared Distance Metric algorithm.arg name type default value description affinity double 1 the higher, the smoother nb_iter unsigned int 30 number of iterations grid OGF::MeshGrobName grid the object to be fitted or control mesh of subd surface nb_subd unsigned int 0 number of subdivision subd OGF::NewMeshGrobName subd computed subdivision surface (if nb_subd different from 0)
-
Transport/Post-processing/copy_t0
: Copies coordinates of another mesh into a t0 vector attribute.arg name type default value description t0_mesh std::string N/A the name of the mesh with geometry at t0 to be copied. Needs to have the same number of vertices as this mesh. -
Transport/Post-processing/compute_velocity
: Computes velocities from speed vectors.arg name type default value description velocity std::string v name of the attribute where to store velocities. speed_vector std::string V name of the attribute with speed vectors (dim 3 vector attribute) -
Transport/Post-processing/compute_interface
: In a Euler simulation, compute the interface between the two liquides.arg name type default value description domain OGF::MeshGrobName omega the name of the mesh with the domain. interface OGF::NewMeshGrobName interface the name of the mesh where to store the interface. clip_region OGF::NewMeshGrobName N/A primal bool false if true, then interface is computed by marching-tetrahedra from the primal 3d triangulation, else it is computed from the power diagram. -
Transport/Post-processing/smooth_interface
: Smoothes a surface by moving the points to the centroids of their neighbors. -
Transport/Post-processing/compute_dual_surface_mesh
: Computes the dual of a surface mesh.arg name type default value description dual OGF::NewMeshGrobName dual the name of the created dual surface mesh. triangulate bool false if true, triangulate the facets -
Transport/Post-processing/export_to_Cyril_Crassin_raw
: Exports a mesh in raw format to be used with Cyril Crassin s tools.arg name type default value description basename std::string out N/A -
Transport/Post-processing/extract_initial_and_final
: Extracts initial and final pointsets from an animated pointset.arg name type default value description now OGF::NewMeshGrobName EUR_now N/A initial OGF::NewMeshGrobName EUR_initial N/A wrap_coords bool false N/A correct_origin bool false N/A nb_per_axis unsigned int 256 N/A -
Transport/Post-processing/EUR_scatter_plot
: Creates a scatter plot datafile for evaluating Early Universe Reconstruction quality.arg name type default value description filename OGF::NewFileName scatter.dat N/A nb_per_axis unsigned int 256 N/A -
Transport/Post-processing/select_chart
: Selects a chartarg name type default value description chart_attribute std::string chart N/A selection std::string selection N/A chart unsigned int 0 N/A -
Transport/Post-processing/translate
: Translates mesh by vector.arg name type default value description tx double 0 N/A ty double 0 N/A tz double 0 N/A -
Transport/Post-processing/EUR_normalize_periodic_coordinates
: Set coordinates between 0 and 1 for reconstructed pointsets with boundary conditions. -
Transport/Post-processing/copy_attribute_to_geometry
: Copies a vertex attribute to geometryarg name type default value description attribute std::string N/A N/A -
Transport/Post-processing/copy_point_colors
: Copies colors from the point with the same index in another objectarg name type default value description from OGF::MeshGrobName N/A the object from which colors are copied -
Transport/Post-processing/copy_nearest_point_colors
: Copies colors from the nearest point of another objectarg name type default value description from OGF::MeshGrobName N/A the object from which colors are copied -
Transport/Post-processing/normalize_transported_volume
: Resizes the warped mesh in such a way it has the same volume as the initial condition.
-
Transport/Advection/advect
: Applies a velocity field to a mesh.arg name type default value description field OGF::velocity_field_t N/A N/A t0 double 0 dt double 0.01 N/A nb_timesteps double 1 N/A integrator OGF::time_integrator_t SIMPLE N/A save_timesteps bool false N/A
-
Transport/Misc/save_normals
: Save mesh normals to C format. -
Transport/Misc/show_Hilbert_curve
: show hilbert curve.arg name type default value description dimension unsigned int 2 N/A -
Transport/Misc/export_points_and_attribute
: export point set and attribute in xyzw formatarg name type default value description attribute_name std::string N/A N/A file_name OGF::NewFileName N/A N/A
-
Transport/Martingale/init_martingale
arg name type default value description points OGF::NewMeshGrobName points N/A laguerre OGF::NewMeshGrobName Laguerre N/A centroids OGF::NewMeshGrobName centroids N/A nb_points unsigned int 10 N/A use_exact_predicates bool true N/A -
Transport/Martingale/recenter_martingale
: Computes a martingale transport in 2d by iteratively relocating the Dirac masses at the barycentersarg name type default value description points OGF::MeshGrobName points the generated pointset laguerre OGF::MeshGrobName Laguerre the generated Laguerre diagram centroids OGF::MeshGrobName centroids the centroids of the Laguerre cells nb_iter unsigned int 1 N/A use_exact_predicates bool true N/A