IView.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, "opalsView_d.lib")
10  #else
11  #pragma comment(lib, "opalsView.lib")
12  #endif
13 #endif
14 
15 namespace opals
16 {
17 
18  namespace opts
19  {
20  /// Options of \ref ModuleView
21  namespace View
22  {
23  /// Options of \ref ModuleView
24  using Options =
25  IGroup< Names::_, false,
28  >;
29  }
30  }
31 
32  /// Provides an interactive 3d viewer for points (including arbitrary attributes) and lines.
33  /** TODO:
34  More details on opalsView with much more words,
35  possibly on several lines. */
36  /// \see \ref ModuleView
37  class OPALS_API IView : virtual public IModuleBase
38  {
39 
40  public:
41  static IView* New();
42  static IView* New( IControlObject &controlObject );
43  static IView* New( const IModuleBase &parent );
44  static IView* New( const IModuleBase &parent, IControlObject &controlObject );
45 
46  virtual ~IView() {}
47 
48  /// \name Access to module-specific options.
49  ///@{
51  virtual Options& opts() = 0;
52  virtual const Options& opts() const = 0;
53  ///@}
54 
55  };
56 
57 }
Provides an interactive 3d viewer for points (including arbitrary attributes) and lines.
Definition: IView.hpp:37
Leaf that holds a read-only value.
Definition: IOption.hpp:63
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
IGroup< Names::_, false, ILeaf< Names::inFile, false, Vector< Path > >, ILeaf< Names::filter, false, String > > Options
Options of Module View.
Definition: IView.hpp:28
A group of options.
Definition: IOption.hpp:108