Blender V4.3
blender::meshintersect::CDT_result< T > Class Template Reference

#include <BLI_delaunay_2d.hh>

Public Attributes

Array< VecBase< T, 2 > > vert
 
Array< std::pair< int, int > > edge
 
Array< Vector< int > > face
 
Array< Vector< int > > vert_orig
 
Array< Vector< int > > edge_orig
 
Array< Vector< int > > face_orig
 
int face_edge_offset
 

Detailed Description

template<typename T>
class blender::meshintersect::CDT_result< T >

A representation of the triangulation for output. See #CDT_input for the representation of the output vertices, edges, and faces, all represented in a similar way to the input.

The output may have merged some input vertices together, if they were closer than some epsilon distance. The output edges may be overlapping sub-segments of some input edges; or they may be new edges for the triangulation. The output faces may be pieces of some input faces, or they may be new.

Extra outputs are used to represent the output to input mapping of vertices, edges, and faces. These are only set if need_ids is true in the input.

For edges, the edge_orig triple can also say which original face edge is part of a given output edge. See the comment below for how to decode the entries in the edge_orig table.

Definition at line 157 of file BLI_delaunay_2d.hh.

Member Data Documentation

◆ edge

template<typename T >
Array<std::pair<int, int> > blender::meshintersect::CDT_result< T >::edge

◆ edge_orig

template<typename T >
Array<Vector<int> > blender::meshintersect::CDT_result< T >::edge_orig

For each output edge, which input edges does it overlap? The input edge ids are encoded as follows: if the value is less than face_edge_offset, then it is an index into the input edge[] array. else let (a, b) = the quotient and remainder of dividing the edge index by face_edge_offset; "a" will be the input face + 1, and "b" will be a position within that face.

Definition at line 174 of file BLI_delaunay_2d.hh.

Referenced by M_Geometry_delaunay_2d_cdt(), and blender::meshintersect::operator<<().

◆ face

◆ face_edge_offset

template<typename T >
int blender::meshintersect::CDT_result< T >::face_edge_offset

Used to encode edge_orig (see above).

Definition at line 178 of file BLI_delaunay_2d.hh.

◆ face_orig

template<typename T >
Array<Vector<int> > blender::meshintersect::CDT_result< T >::face_orig

For each output face, which original faces does it overlap?

Definition at line 176 of file BLI_delaunay_2d.hh.

Referenced by M_Geometry_delaunay_2d_cdt(), and blender::meshintersect::operator<<().

◆ vert

template<typename T >
Array<VecBase<T, 2> > blender::meshintersect::CDT_result< T >::vert

◆ vert_orig

template<typename T >
Array<Vector<int> > blender::meshintersect::CDT_result< T >::vert_orig

For each output vert, which input verts correspond to it?

Definition at line 164 of file BLI_delaunay_2d.hh.

Referenced by blender::io::obj::fixup_invalid_face(), M_Geometry_delaunay_2d_cdt(), and blender::meshintersect::operator<<().


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