Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
MxEdgeErrorMetricGeometry.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2017 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : VSG (MMM YYYY)
22**=======================================================================*/
23#ifndef _MxEdgeErrorMetricGeometry_h
24#define _MxEdgeErrorMetricGeometry_h
25
26#include <MeshVizXLM/MbVec3.h>
27#include <MeshVizXLM/MiMeshViz.h>
28#include <MeshVizXLM/tessellator/MiEdgeErrorMetric.h>
29#include <MeshVizXLM/MxTimeStamp.h>
30
48class MESHVIZXLM_EXTR_API MxEdgeErrorMetricGeometry : public MiEdgeErrorMetric<MbVec3d>
49{
50public:
51
55 MxEdgeErrorMetricGeometry(double maxError)
56 : m_maxError(maxError), m_timeStamp(MxTimeStamp::getTimeStamp())
57 {}
58
70 virtual bool isEdgeLinear(const MbVec3d& coord0, const MbVec3d& coord1, const MbVec3d& coordM) const;
71
77 void setMaxError(double maxError)
78 {
79 m_maxError = maxError;
80 m_timeStamp = MxTimeStamp::getTimeStamp();
81 }
82
87 virtual size_t getTimeStamp() const
88 {
89 return m_timeStamp;
90 }
91
92private:
93 double m_maxError;
94 size_t m_timeStamp;
95};
96
97#endif
98
99
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Edge error metric interf...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Geometrical edge error m...
virtual bool isEdgeLinear(const MbVec3d &coord0, const MbVec3d &coord1, const MbVec3d &coordM) const
Check if 3 points are linear based on their coordinates and the tolerance factor maxError.
void setMaxError(double maxError)
Set the tolerance factor maxError.
MxEdgeErrorMetricGeometry(double maxError)
Constructor that sets the tolerance factor maxError.
virtual size_t getTimeStamp() const
Returns the current time stamp on this edge error metric.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Manages an identifier th...
Definition MxTimeStamp.h:44
static size_t getTimeStamp()
Definition MxTimeStamp.h:46