NetDEM v1.0
Loading...
Searching...
No Matches
netdem::CorkWrapper Class Reference

The Cork namespace contains various static methods for performing mesh operations. More...

#include <cork_wrapper.hpp>

Static Public Member Functions

static void MeshIntersect (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab, VecXT< int > *const jab)
 Compute the intersection between two input meshes va and vb.
 
static void MeshUnion (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab, VecXT< int > *const jab)
 Compute the union of two input meshes va and vb.
 
static void MeshDifference (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab, VecXT< int > *const jab)
 Compute the difference of two input meshes va and vb.
 
static void MeshXor (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab, VecXT< int > *const jab)
 Compute the exclusive-or of two input meshes va and vb.
 
static void MeshIntersect (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab)
 Compute the intersection between two input meshes va and vb.
 
static void MeshUnion (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab)
 Compute the union of two input meshes va and vb.
 
static void MeshDifference (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab)
 Compute the difference of two input meshes va and vb.
 
static void MeshXor (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, const VecXT< Vec3d > &vb, const VecXT< Vec3i > &fb, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab)
 Compute the exclusive-or of two input meshes va and vb.
 
static void MeshIntersect (const VecXT< Vec3d > &va, const VecXT< Vec3i > &fa, double dist_pc_to_plane, Vec3d const &dir_n, VecXT< Vec3d > *const vab, VecXT< Vec3i > *const fab, VecXT< int > *const jab)
 Compute the intersection between an input mesh va and a plane defined by a distance and normal vector.
 

Detailed Description

The Cork namespace contains various static methods for performing mesh operations.

Member Function Documentation

◆ MeshDifference() [1/2]

static void netdem::CorkWrapper::MeshDifference ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab )
static

Compute the difference of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh

◆ MeshDifference() [2/2]

static void netdem::CorkWrapper::MeshDifference ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab,
VecXT< int > *const jab )
static

Compute the difference of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh
[out]jabOutput indices of vertices in the difference of the two input meshes

◆ MeshIntersect() [1/3]

static void netdem::CorkWrapper::MeshIntersect ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab )
static

Compute the intersection between two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh

◆ MeshIntersect() [2/3]

static void netdem::CorkWrapper::MeshIntersect ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab,
VecXT< int > *const jab )
static

Compute the intersection between two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh
[out]jabOutput indices of vertices in the intersection of the two input meshes

◆ MeshIntersect() [3/3]

static void netdem::CorkWrapper::MeshIntersect ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
double dist_pc_to_plane,
Vec3d const & dir_n,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab,
VecXT< int > *const jab )
static

Compute the intersection between an input mesh va and a plane defined by a distance and normal vector.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]dist_pc_to_planeDistance from plane to point cloud
[in]dir_nNormal vector of plane
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh
[out]jabOutput indices of vertices in the intersection of the input mesh and the plane

◆ MeshUnion() [1/2]

static void netdem::CorkWrapper::MeshUnion ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab )
static

Compute the union of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh

◆ MeshUnion() [2/2]

static void netdem::CorkWrapper::MeshUnion ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab,
VecXT< int > *const jab )
static

Compute the union of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh
[out]jabOutput indices of vertices in the union of the two input meshes

◆ MeshXor() [1/2]

static void netdem::CorkWrapper::MeshXor ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab )
static

Compute the exclusive-or of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh

◆ MeshXor() [2/2]

static void netdem::CorkWrapper::MeshXor ( const VecXT< Vec3d > & va,
const VecXT< Vec3i > & fa,
const VecXT< Vec3d > & vb,
const VecXT< Vec3i > & fb,
VecXT< Vec3d > *const vab,
VecXT< Vec3i > *const fab,
VecXT< int > *const jab )
static

Compute the exclusive-or of two input meshes va and vb.

Parameters
[in]vaInput vertices of mesh A
[in]faInput faces of mesh A
[in]vbInput vertices of mesh B
[in]fbInput faces of mesh B
[out]vabOutput vertices of resulting mesh
[out]fabOutput faces of resulting mesh
[out]jabOutput indices of vertices in the exclusive-or of the two input meshes

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