Skip to content

InscoperAPI/API/Base/Dimension/Dimension.h

Namespaces

Name
Inscoper
Inscoper namespace.

Classes

Name
class Inscoper::Dimension
Dimension class manages the parameters of a dimension (within a multi-dimensional acquisition).

Source code

#ifndef DIMENSION_H
#define DIMENSION_H

#include <Base/Dimension/DimensionParam.h>
#include <Shared/XML/XMLNode.h>

#include <memory>
#include <vector>

namespace Inscoper {

class INSCOPER_EXPORT Dimension {
public:
  Dimension();

  explicit Dimension(const std::string &name);

  Dimension(const std::string &name, const std::vector<Inscoper::SubDeviceId> &subDeviceIdList);

  ~Dimension();

  void fromXML(Inscoper::XMLNode &xml) INSCOPER_EXCEPTION;

  void toXML(Inscoper::XMLNode &xmlParent) INSCOPER_EXCEPTION;

  void addSubDevice(const Inscoper::SubDeviceId &subDeviceId);

  void addDimensionParam(const Inscoper::DimensionParamPtr &param);

  const std::string &getName() const;

  const std::vector<Inscoper::DimensionParamPtr> &getDimensionParams() const;

  const std::vector<Inscoper::SubDeviceId> &subDeviceIdList() const;

private:
  std::string _name;
  std::vector<Inscoper::SubDeviceId> _subDeviceIdList;
  std::vector<Inscoper::DimensionParamPtr> _params;
};

typedef std::shared_ptr<Dimension> DimensionPtr;

} // namespace Inscoper

#endif // DIMENSION_H

Updated on 2026-09-03 at 12:14:17 +0200