|
Lagrange
|
Classes | |
| struct | LocalFeatureSizeOptions |
| Options for compute_local_feature_size(). More... | |
| struct | ProjectCommonOptions |
| Common options for projection functions. More... | |
| struct | ProjectDirectionalOptions |
| Options for project_directional(). More... | |
| struct | ProjectOptions |
| Options for project(). More... | |
Enumerations | |
| enum class | RayDirectionMode { Interior , Exterior , Both } |
| Ray direction mode for local feature size computation. More... | |
Functions | |
| template<typename Scalar, typename Index> | |
| LA_RAYCASTING_API AttributeId | compute_local_feature_size (SurfaceMesh< Scalar, Index > &mesh, const LocalFeatureSizeOptions &options={}, const RayCaster *ray_caster=nullptr) |
| Compute local feature size for each vertex of a mesh using medial axis approximation. | |
| template<typename Scalar, typename Index> | |
| LA_RAYCASTING_API void | project (const SurfaceMesh< Scalar, Index > &source, SurfaceMesh< Scalar, Index > &target, const ProjectOptions &options={}, const RayCaster *ray_caster=nullptr) |
| Project vertex attributes from one mesh to another. | |
| template<typename Scalar, typename Index> | |
| LA_RAYCASTING_API void | project_closest_point (const SurfaceMesh< Scalar, Index > &source, SurfaceMesh< Scalar, Index > &target, const ProjectCommonOptions &options={}, const RayCaster *ray_caster=nullptr) |
| Project vertex attributes from one mesh to another, by copying attributes from the closest point on the input mesh. | |
| template<typename Scalar, typename Index> | |
| LA_RAYCASTING_API void | project_closest_vertex (const SurfaceMesh< Scalar, Index > &source, SurfaceMesh< Scalar, Index > &target, const ProjectCommonOptions &options={}, const RayCaster *ray_caster=nullptr) |
| Project vertex attributes from one mesh to another, by copying attributes from the closest vertex on the source mesh surface. | |
| template<typename Scalar, typename Index> | |
| LA_RAYCASTING_API void | project_directional (const SurfaceMesh< Scalar, Index > &source, SurfaceMesh< Scalar, Index > &target, const ProjectDirectionalOptions &options={}, const RayCaster *ray_caster=nullptr) |
| Project vertex attributes from one mesh to another, by projecting target vertices along a prescribed direction, and interpolating surface values from facet corners of the source mesh. | |
|
strong |
#include <lagrange/raycasting/compute_local_feature_size.h>
Ray direction mode for local feature size computation.
| LA_RAYCASTING_API AttributeId compute_local_feature_size | ( | SurfaceMesh< Scalar, Index > & | mesh, |
| const LocalFeatureSizeOptions & | options = {}, | ||
| const RayCaster * | ray_caster = nullptr ) |
#include <lagrange/raycasting/compute_local_feature_size.h>
Compute local feature size for each vertex of a mesh using medial axis approximation.
For each vertex, this function:
Interior mode, rays are cast inward (negative normal direction). For Exterior mode, rays are cast outward (positive normal direction). For Both mode, rays are cast in both directions and the minimum LFS is taken.default_lfs value is used as a fallback.| [in,out] | mesh | Mesh to process (must be a triangle mesh). The mesh is modified to add the local feature size attribute. |
| [in] | options | Options for local feature size computation. |
| [in] | ray_caster | If provided, use this ray caster to perform the queries. The mesh must have been added to the ray caster in advance, and the scene must have been committed. If nullptr, a temporary ray caster will be created internally. |
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |
| LA_RAYCASTING_API void project | ( | const SurfaceMesh< Scalar, Index > & | source, |
| SurfaceMesh< Scalar, Index > & | target, | ||
| const ProjectOptions & | options = {}, | ||
| const RayCaster * | ray_caster = nullptr ) |
#include <lagrange/raycasting/project.h>
Project vertex attributes from one mesh to another.
Different projection modes can be prescribed.
By default, vertex positions are projected. Additional attributes to project can be specified via options.attribute_ids. Set options.project_vertices to false to skip vertex positions.
| [in] | source | Source mesh (must be a triangle mesh). |
| [in,out] | target | Target mesh to be modified. |
| [in] | options | Projection options. |
| [in] | ray_caster | If provided, use this ray caster to perform the queries. The source mesh must have been added to the ray caster in advance, and the scene must have been committed. If nullptr, a temporary ray caster will be created internally. |
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |
| LA_RAYCASTING_API void project_closest_point | ( | const SurfaceMesh< Scalar, Index > & | source, |
| SurfaceMesh< Scalar, Index > & | target, | ||
| const ProjectCommonOptions & | options = {}, | ||
| const RayCaster * | ray_caster = nullptr ) |
#include <lagrange/raycasting/project_closest_point.h>
Project vertex attributes from one mesh to another, by copying attributes from the closest point on the input mesh.
Values are linearly interpolated from the face corners.
By default, vertex positions are projected. Additional attributes to project can be specified via options.attribute_ids. Set options.project_vertices to false to skip vertex positions.
| [in] | source | Source mesh (must be a triangle mesh). |
| [in,out] | target | Target mesh to be modified. |
| [in] | options | Projection options. |
| [in] | ray_caster | If provided, use this ray caster to perform the queries. The source mesh must have been added to the ray caster in advance, and the scene must have been committed. If nullptr, a temporary ray caster will be created internally. |
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |
| LA_RAYCASTING_API void project_closest_vertex | ( | const SurfaceMesh< Scalar, Index > & | source, |
| SurfaceMesh< Scalar, Index > & | target, | ||
| const ProjectCommonOptions & | options = {}, | ||
| const RayCaster * | ray_caster = nullptr ) |
#include <lagrange/raycasting/project_closest_vertex.h>
Project vertex attributes from one mesh to another, by copying attributes from the closest vertex on the source mesh surface.
The closest surface point is found via a closest-point query, then snapped to the nearest vertex of the hit triangle (the vertex with the largest barycentric weight).
By default, vertex positions are projected. Additional attributes to project can be specified via options.attribute_ids. Set options.project_vertices to false to skip vertex positions.
| [in] | source | Source mesh (must be a triangle mesh). |
| [in,out] | target | Target mesh to be modified. |
| [in] | options | Projection options. |
| [in] | ray_caster | If provided, use this ray caster to perform the queries. The source mesh must have been added to the ray caster in advance, and the scene must have been committed. If nullptr, a temporary ray caster will be created internally. |
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |
| LA_RAYCASTING_API void project_directional | ( | const SurfaceMesh< Scalar, Index > & | source, |
| SurfaceMesh< Scalar, Index > & | target, | ||
| const ProjectDirectionalOptions & | options = {}, | ||
| const RayCaster * | ray_caster = nullptr ) |
#include <lagrange/raycasting/project_directional.h>
Project vertex attributes from one mesh to another, by projecting target vertices along a prescribed direction, and interpolating surface values from facet corners of the source mesh.
By default, vertex positions are projected. Additional attributes to project can be specified via options.attribute_ids. Set options.project_vertices to false to skip vertex positions.
| [in] | source | Source mesh (must be a triangle mesh). |
| [in,out] | target | Target mesh to be modified. |
| [in] | options | Projection options. |
| [in] | ray_caster | If provided, use this ray caster to perform the queries. The source mesh must have been added to the ray caster in advance, and the scene must have been committed. If nullptr, a temporary ray caster will be created internally. |
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |