Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
MiEdgeErrorMetric< _T > Class Template Referenceabstract

MeshViz Edge error metric interface used by the tessellator. More...

#include <MeshVizXLM/tessellator/MiEdgeErrorMetric.h>

Public Member Functions

virtual ~MiEdgeErrorMetric ()
 
virtual bool isEdgeLinear (const _T &v0, const _T &v1, const _T &vM) const =0
 Checks if an edge can be seen as linear or not according to its coordinates or its values.
 
virtual size_t getTimeStamp () const =0
 Returns a time stamp on this edge error metric.
 

Detailed Description

template<typename _T>
class MiEdgeErrorMetric< _T >

MeshViz Edge error metric interface used by the tessellator.

This class is used to check if an edge can be considered as linear or not. The isEdgeLinear method is called by the tessellator in order to estimate the quality of an edge tessellation and thus the quality of the mesh tessellation.

Note
In order to have a "crack free" tesselation (tessellation without any small gaps along the edges) the method isEdgeLinear() must be symmetric: calling isEdgeLinear(O,P,Q) must return the same result as calling isEdgeLinear(P,O,Q).

See MxEdgeErrorMetricGeometry for an example of implementation of this interface. It defines a geometrical criterion by using only the coordinates of an edge to check if it could be seen as linear or not.

See also
MiTessellator

Definition at line 52 of file MiEdgeErrorMetric.h.

Constructor & Destructor Documentation

◆ ~MiEdgeErrorMetric()

template<typename _T >
virtual MiEdgeErrorMetric< _T >::~MiEdgeErrorMetric ( )
inlinevirtual

Definition at line 55 of file MiEdgeErrorMetric.h.

Member Function Documentation

◆ getTimeStamp()

template<typename _T >
virtual size_t MiEdgeErrorMetric< _T >::getTimeStamp ( ) const
pure virtual

Returns a time stamp on this edge error metric.

Whenever any parameter used by the application method isEdgeLinear() changes, the time stamp must increase.

Implemented in MxEdgeErrorMetricGeometry.

◆ isEdgeLinear()

template<typename _T >
virtual bool MiEdgeErrorMetric< _T >::isEdgeLinear ( const _T &  v0,
const _T &  v1,
const _T &  vM 
) const
pure virtual

Checks if an edge can be seen as linear or not according to its coordinates or its values.

Given 2 values v0,v1 at the end points of the edge, and one value vM at the theoretical middle point of the edge, the method returns true if the edge can be seen as linear.

Parameters
[in]v0value at the first end point of the edge.
[in]v1value at the second end point of the edge.
[in]vMvalue at the theoretical middle point of the edge.
Returns
true if the edge can be seen as linear.

Implemented in MxEdgeErrorMetricGeometry.


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