Lagrange
Loading...
Searching...
No Matches
Group-raycasting

Classes

struct  ProjectCommonOptions
 Common options for projection functions. More...
 
struct  ProjectDirectionalOptions
 Options for project_directional(). More...
 
struct  ProjectOptions
 Options for project(). More...
 

Functions

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.
 

Detailed Description

Function Documentation

◆ project()

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 )

#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.

Parameters
[in]sourceSource mesh (must be a triangle mesh).
[in,out]targetTarget mesh to be modified.
[in]optionsProjection options.
[in]ray_casterIf 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.
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

◆ project_closest_point()

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 )

#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.

Parameters
[in]sourceSource mesh (must be a triangle mesh).
[in,out]targetTarget mesh to be modified.
[in]optionsProjection options.
[in]ray_casterIf 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.
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

◆ project_closest_vertex()

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 )

#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.

Parameters
[in]sourceSource mesh (must be a triangle mesh).
[in,out]targetTarget mesh to be modified.
[in]optionsProjection options.
[in]ray_casterIf 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.
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

◆ project_directional()

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 )

#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.

Parameters
[in]sourceSource mesh (must be a triangle mesh).
[in,out]targetTarget mesh to be modified.
[in]optionsProjection options.
[in]ray_casterIf 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.
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.