ScopSemantic.hpp
1 #ifndef DM_SCOP_SEMATNIC_HPP_INCLUDED
2 #define DM_SCOP_SEMATNIC_HPP_INCLUDED
3 
4 #ifdef _MSC_VER
5  #pragma once
6 #endif
7 
8 #include "DM/config.hpp"
9 
10 DM_NAMESPACE_BEGIN
11 
12 /// \brief the scop semantic describes a kind of topographic semantic
13 namespace ScopSemantic {
14  enum Type {
15  null = 0,
16  profile = 1, ///< bulk point which was gathered through sampling the interpolation surface line by line\n
17  ///< (above all, this is the case for bulk data from old photogrammetric analogous stereo plotters).
18 
19  gridPoint = 2, ///< point on the interpolation surface which shall not be filtered in the interpolation process
20 
21  alignement = 4, ///< longitudinal section
22  crossSection = 8, ///< cross section
23 
24  contourline = 16, ///< line denoting a line of equal height of the interpolation surface
25 
26  bulkData = 32, ///< random point on the interpolation surface without a specific semantic
27 
28  spotHeights = 64, ///< point on the interpolation surface with a horizontal tangent plane
29 
30  formline = 128, ///< line denoting a line of high curvature of the interpolation surface
31 
32  breakline = 256, ///< line denoting a discontinuity of the first derivative of the interpolation surface (C1-discontinuity)
33 
34  borderline = 512, ///< line denoting a boundary of the interpolation surface; left side is valid/included; doesn't need to be closed
35  enclaveline = 1024, ///< line denoting a boundary of the interpolation surface; left side is valid/included; doesn't need to be closed
36  ///< the distinction between eSEM_BORDERLINE and eSEM_ENCLAVELINE is merely necessary
37  ///< for the passing of line orientations through objects that do not store them (e.g. NG_Triangulation)
38 
39  fautline = 2048, ///< wk070618: this semantic up to now is defined for a special application required by INPHO, for Winput Im-/Export
40  /// eSEM_FAULTLINE shall only be applied to already interpolated RDH:
41  /// - it either denotes areas within which the RDH height is defined by the Delaunay triangulation of the line,
42  /// - or it specifies break lines within such an area i.e. constraints of the triangulation.
43 
44  ///< a future, more exact definition could look like this:
45  /// this line denotes a discontinuity of the interpolation surface (C0-discontinuity, jump in height) and holds an orientation;
46  /// - if 3d (~&eSEM_2D_DATA):
47  /// - the line vertex heights define the height of the interpolation surface to the left of the line;
48  /// - if furthermore it is closed, then the vertex heights define the interpolation surface in its interior area
49  /// through a respective interpolation. The line must be counterclockwise oriented then.
50  /// - the surface height to the right is defined by an according extrapolation of the data to the right
51  /// - if 2d:
52  /// - then the extrapolation of the data to the left defines the surface height to the left of the line
53  /// - the same holds for the right side
54  /// - if data needed for surface height definition is unavailable, the fault line shall be skipped
55 
56  /// The following entries may be combined with (some of) the ones above.
57  d2Data = 4096, ///< geometry object has undetermined z values
58  offTerrain = 8192, ///< geometry object has certain z values, but they do not lie on the interpolation surface
59  };
60 }
61 
62 DM_NAMESPACE_END
63 
64 #endif //DM_SCOP_SEMATNIC_HPP_INCLUDED