DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
IMeasure.h
1 //=============================================================================
2 // See License in Related Pages
3 //=============================================================================
4 
5 #pragma once
6 
7 #ifndef DAVID_SDK_I_MEASURE_H
8 #define DAVID_SDK_I_MEASURE_H
9 
10 #include "davidSDK/Common.h"
11 #include <vector>
12 
13 namespace david {
14 
15 //*****************************************************************************
16 /// @addtogroup InterfaceGroup
17 /// @{
18 /// @defgroup MeasureGroup Measurements
19 /// Functions and types related to 'Measure'.
20 /// @{
21 //*****************************************************************************
22 
23 //=============================================================================
24 // IMeasure
25 //=============================================================================
26 
27 /// Interface for 'Measurement' functions.
28 ///
29 class IMeasure
30 {
31 public:
32  /// Destructor.
33  virtual ~IMeasure() {}
34 
35  /// Computes signed distance between 'test object' and 'reference object'.
36  /// For each vertex of mesh 'test object' the signed distance to the mesh 'reference object' is computed.
37  /// @param[out] distances Receives the distance values. One signed distance value for each vertex of 'test object'.
38  /// @param[in] meshID1 ID of the mesh that is the test object.
39  /// @param[in] meshID2 ID of the other mesh that is the reference object.
40  /// @param[in] distThresh Distance threshold: Distance values are limited to the range [-distThresh, distThresh].
41  /// @exception david::Error_InvalidMeshId (david::FunctionException) Specified meshID does not exist.
42  virtual void ComputeSurfaceDistances(std::vector<float>& distances, int meshID1, int meshID2, double distThresh) = 0;
43 };
44 
45 /// @} MeasureGroup
46 /// @} InterfaceGroup
47 
48 } // namespace
49 
50 #endif // DAVID_SDK_I_MEASURE_H