ITIN.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/Path.hpp>
5 #include <opals/Vector.hpp>
6 
7 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
8  #if defined _DEBUG && !defined OPALS_NO_DEBUG
9  #pragma comment(lib, "opalsTIN_d.lib")
10  #else
11  #pragma comment(lib, "opalsTIN.lib")
12  #endif
13 #endif
14 
15 namespace opals {
16 
17  namespace opts
18  {
19  /// Options of \ref ModuleTIN
20  namespace TIN
21  {
22  /// Options of \ref ModuleTIN
23  using Options =
24  IGroup< Names::_, false,
34  >;
35  }
36  }
37 
38  /// Creates a TIN surface from ODM vector data based on a 2D constrained Delaunay triangulation.
39  /** Module TIN performs a triangular tesselation of the plane, using input data points (including line points) as vertices.
40  These vertices are connected by edges to form a triangulation following the Delaunay criterion, unless there are incident edges considered as constraints.
41  Module TIN allows for the creation of triangular irregular networks (TINs) based on input data, and the export of those TINs into various data formats.
42  Also, alpha-shapes may be derived, and the valid region(s) be extracted. */
43  /// \see \ref ModuleTIN
44  class OPALS_API ITIN : virtual public IModuleBase
45  {
46 
47  public:
48  static ITIN* New();
49  static ITIN* New( IControlObject &controlObject );
50  static ITIN* New( const IModuleBase &parent );
51  static ITIN* New( const IModuleBase &parent, IControlObject &controlObject );
52 
53  virtual ~ITIN() {}
54 
55  /// \name Access to module-specific options.
56  ///@{
58  virtual Options& opts() = 0;
59  virtual const Options& opts() const = 0;
60  ///@}
61 
62  };
63 
64 };
Leaf that holds a read-only value.
Definition: IOption.hpp:63
IGroup< Names::_, false, ILeaf< Names::inFile, false, Vector< Path > >, ILeaf< Names::iFormat, false, Vector< String > >, ILeaf< Names::iFilter, false, Vector< String > >, ILeaf< Names::snapRadius, false, double >, ILeaf< Names::outFile, false, Path >, ILeaf< Names::oFilter, false, String >, ILeaf< Names::borderFile, false, Path >, ILeaf< Names::alphaFile, false, Path >, ILeaf< Names::alphaRadius, false, double > > Options
Options of Module TIN.
Definition: ITIN.hpp:34
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
Creates a TIN surface from ODM vector data based on a 2D constrained Delaunay triangulation.
Definition: ITIN.hpp:44
A group of options.
Definition: IOption.hpp:108