ome-xml  5.2.0-m5
Channel.h
1 /*
2  * #%L
3  * OME-XML C++ library for working with OME-XML metadata structures.
4  * %%
5  * Copyright © 2006 - 2016 Open Microscopy Environment:
6  * - Massachusetts Institute of Technology
7  * - National Institutes of Health
8  * - University of Dundee
9  * - Board of Regents of the University of Wisconsin-Madison
10  * - Glencoe Software, Inc.
11  * %%
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions are met:
14  *
15  * 1. Redistributions of source code must retain the above copyright notice,
16  * this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright notice,
18  * this list of conditions and the following disclaimer in the documentation
19  * and/or other materials provided with the distribution.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31  * POSSIBILITY OF SUCH DAMAGE.
32  *
33  * The views and conclusions contained in the software and documentation are
34  * those of the authors and should not be interpreted as representing official
35  * policies, either expressed or implied, of any organization.
36  * #L%
37  */
38 
39 /*─────────────────────────────────────────────────────────────────────────────
40  *
41  * THIS IS AUTOMATICALLY GENERATED CODE. DO NOT MODIFY.
42  *
43  *─────────────────────────────────────────────────────────────────────────────
44  */
45 
46 #ifndef OME_XML_MODEL_CHANNEL_H
47 #define OME_XML_MODEL_CHANNEL_H
48 
49 #include <algorithm>
50 #include <list>
51 #include <stdexcept>
52 #include <string>
53 #include <vector>
54 
55 #include <ome/common/log.h>
56 
57 #include <ome/common/xml/dom/Document.h>
58 #include <ome/common/xml/dom/Element.h>
59 #include <ome/common/xml/dom/Node.h>
60 #include <ome/common/xml/dom/NodeList.h>
61 
62 #include <ome/xml/model/primitives/Quantity.h>
63 
64 #include <ome/xml/model/DetectorSettings.h>
65 #include <ome/xml/model/FilterSet.h>
66 #include <ome/xml/model/LightPath.h>
67 #include <ome/xml/model/LightSourceSettings.h>
68 #include <ome/xml/model/Pixels.h>
69 #include <ome/xml/model/detail/OMEModelObject.h>
70 #include <ome/xml/model/enums/AcquisitionMode.h>
71 #include <ome/xml/model/enums/ContrastMethod.h>
72 #include <ome/xml/model/enums/IlluminationType.h>
73 #include <ome/xml/model/enums/UnitsLength.h>
74 #include <ome/xml/model/primitives/Color.h>
75 #include <ome/xml/model/primitives/PositiveFloat.h>
76 #include <ome/xml/model/primitives/PositiveInteger.h>
77 
78 namespace ome
79 {
80  namespace xml
81  {
82  namespace model
83  {
84 
85  // Forward declarations.
86  class Annotation;
87  class OMEModel;
88 
93  {
94  private:
95  class Impl;
97  ome::compat::shared_ptr<Impl> impl;
98 
99  public:
101  Channel();
102 
108  Channel (const Channel& copy);
109 
111  virtual
112  ~Channel ();
113 
128  static ome::compat::shared_ptr< Channel>
129  create(const common::xml::dom::Element& element,
131 
132  // Documented in superclass.
133  const std::string&
134  elementName() const;
135 
136  // Documented in superclass.
137  bool
138  validElementName(const std::string& name) const;
139 
140  private:
142  Channel&
143  operator= (const Channel&);
144 
145  public:
146  // -- OMEModelObject API methods --
147 
149  virtual void
150  update(const common::xml::dom::Element& element,
152 
153  public:
154  // -- Channel API methods --
155 
157  bool
158  link (ome::compat::shared_ptr<Reference>& reference,
159  ome::compat::shared_ptr< ome::xml::model::OMEModelObject>& object);
160 
166  ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
167  getPinholeSize ();
168 
174  const ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
175  getPinholeSize () const;
176 
182  void
184 
190  ome::compat::shared_ptr<std::string>
191  getName ();
192 
198  const ome::compat::shared_ptr<std::string>
199  getName () const;
200 
206  void
207  setName (ome::compat::shared_ptr<std::string>& name);
208 
214  ome::compat::shared_ptr<ome::xml::model::enums::AcquisitionMode>
216 
222  const ome::compat::shared_ptr<ome::xml::model::enums::AcquisitionMode>
223  getAcquisitionMode () const;
224 
230  void
231  setAcquisitionMode (ome::compat::shared_ptr<ome::xml::model::enums::AcquisitionMode>& acquisitionMode);
232 
238  ome::compat::shared_ptr<ome::xml::model::primitives::Color>
239  getColor ();
240 
246  const ome::compat::shared_ptr<ome::xml::model::primitives::Color>
247  getColor () const;
248 
254  void
255  setColor (ome::compat::shared_ptr<ome::xml::model::primitives::Color>& color);
256 
262  ome::compat::shared_ptr<ome::xml::model::enums::ContrastMethod>
264 
270  const ome::compat::shared_ptr<ome::xml::model::enums::ContrastMethod>
271  getContrastMethod () const;
272 
278  void
279  setContrastMethod (ome::compat::shared_ptr<ome::xml::model::enums::ContrastMethod>& contrastMethod);
280 
286  ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
288 
294  const ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
295  getExcitationWavelength () const;
296 
302  void
304 
310  ome::compat::shared_ptr<ome::xml::model::enums::IlluminationType>
312 
318  const ome::compat::shared_ptr<ome::xml::model::enums::IlluminationType>
319  getIlluminationType () const;
320 
326  void
327  setIlluminationType (ome::compat::shared_ptr<ome::xml::model::enums::IlluminationType>& illuminationType);
328 
334  ome::compat::shared_ptr<std::string>
335  getFluor ();
336 
342  const ome::compat::shared_ptr<std::string>
343  getFluor () const;
344 
350  void
351  setFluor (ome::compat::shared_ptr<std::string>& fluor);
352 
358  ome::compat::shared_ptr<int32_t>
360 
366  const ome::compat::shared_ptr<int32_t>
367  getPockelCellSetting () const;
368 
374  void
375  setPockelCellSetting (ome::compat::shared_ptr<int32_t>& pockelCellSetting);
376 
382  ome::compat::shared_ptr<double>
383  getNDFilter ();
384 
390  const ome::compat::shared_ptr<double>
391  getNDFilter () const;
392 
398  void
399  setNDFilter (ome::compat::shared_ptr<double>& ndFilter);
400 
406  ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
408 
414  const ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
415  getEmissionWavelength () const;
416 
422  void
424 
430  const std::string&
431  getID () const;
432 
438  void
439  setID (const std::string& id);
440 
446  ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
448 
454  const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
455  getSamplesPerPixel () const;
456 
462  void
463  setSamplesPerPixel (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>& samplesPerPixel);
464 
470  ome::compat::shared_ptr<ome::xml::model::LightSourceSettings>
472 
478  const ome::compat::shared_ptr<ome::xml::model::LightSourceSettings>
479  getLightSourceSettings () const;
480 
486  void
487  setLightSourceSettings (ome::compat::shared_ptr<ome::xml::model::LightSourceSettings>& lightSourceSettings);
488 
494  ome::compat::shared_ptr<ome::xml::model::DetectorSettings>
496 
502  const ome::compat::shared_ptr<ome::xml::model::DetectorSettings>
503  getDetectorSettings () const;
504 
510  void
511  setDetectorSettings (ome::compat::shared_ptr<ome::xml::model::DetectorSettings>& detectorSettings);
512 
519  ome::compat::weak_ptr<ome::xml::model::FilterSet>
521 
528  const ome::compat::weak_ptr<ome::xml::model::FilterSet>
529  getLinkedFilterSet () const;
530 
536  void
537  linkFilterSet (ome::compat::shared_ptr<ome::xml::model::FilterSet>& filterSet);
538 
548  void
549  unlinkFilterSet (ome::compat::shared_ptr<ome::xml::model::FilterSet>& filterSet);
550 
558 
565  getLinkedAnnotationList () const;
566 
574  const ome::compat::weak_ptr<ome::xml::model::Annotation>&
576 
587  const ome::compat::weak_ptr<ome::xml::model::Annotation>&
589  const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
590 
601  bool
602  linkAnnotation (const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
603 
619  bool
620  unlinkAnnotation (const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
621 
627  ome::compat::shared_ptr<ome::xml::model::LightPath>
628  getLightPath ();
629 
635  const ome::compat::shared_ptr<ome::xml::model::LightPath>
636  getLightPath () const;
637 
643  void
644  setLightPath (ome::compat::shared_ptr<ome::xml::model::LightPath>& lightPath);
645 
651  ome::compat::weak_ptr<ome::xml::model::Pixels>
652  getPixels ();
653 
659  const ome::compat::weak_ptr<ome::xml::model::Pixels>
660  getPixels () const;
661 
667  void
668  setPixels (ome::compat::weak_ptr<ome::xml::model::Pixels>& pixels_BackReference);
669 
672  asXMLElement (common::xml::dom::Document& document) const;
673 
674 
675  protected:
676  // Documented in base class.
679  common::xml::dom::Element& element) const;
680 
681  public:
682  // Documented in superclass.
683  const std::string&
684  getXMLNamespace() const;
685  };
686 
687  }
688  }
689 }
690 
691 #endif // OME_XML_MODEL_CHANNEL_H
692 
693 /*
694  * Local Variables:
695  * mode:C++
696  * End:
697  */
OME model interface (abstract top-level container)
Definition: OMEModel.h:62
void setDetectorSettings(ome::compat::shared_ptr< ome::xml::model::DetectorSettings > &detectorSettings)
Set the DetectorSettings property.
Definition: Channel.cpp:870
ome::compat::shared_ptr< std::string > getFluor()
Get the Fluor property.
Definition: Channel.cpp:716
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > getSamplesPerPixel()
Get the SamplesPerPixel property.
Definition: Channel.cpp:814
void setColor(ome::compat::shared_ptr< ome::xml::model::primitives::Color > &color)
Set the Color property.
Definition: Channel.cpp:646
ome::compat::shared_ptr< ome::xml::model::enums::ContrastMethod > getContrastMethod()
Get the ContrastMethod property.
Definition: Channel.cpp:653
Channel()
Default constructor.
Definition: Channel.cpp:259
void setExcitationWavelength(const ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > &excitationWavelength)
Set the ExcitationWavelength property.
Definition: Channel.cpp:688
void linkFilterSet(ome::compat::shared_ptr< ome::xml::model::FilterSet > &filterSet)
Link FilterSet.
Definition: Channel.cpp:890
ome::compat::shared_ptr< std::string > getName()
Get the Name property.
Definition: Channel.cpp:590
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Channel.cpp:1249
ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > & getExcitationWavelength()
Get the ExcitationWavelength property.
Definition: Channel.cpp:674
ome::compat::shared_ptr< Impl > impl
Private implementation details.
Definition: Channel.h:95
virtual void update(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Update the object hierarchy recursively from an XML DOM tree.
Definition: Channel.cpp:307
ome::compat::weak_ptr< ome::xml::model::Pixels > getPixels()
Get the Pixels property.
Definition: Channel.cpp:987
void setSamplesPerPixel(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > &samplesPerPixel)
Set the SamplesPerPixel property.
Definition: Channel.cpp:828
virtual ~Channel()
Destructor.
Definition: Channel.cpp:278
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Channel.cpp:299
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type getLinkedAnnotationList() const
Get the linked Annotation list.
Definition: Channel.cpp:912
boost::multi_index_container< Ptr< T >, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< Ptr< T > >, ome::compat::owner_less< Ptr< T > > > > > type
Multi-index container type.
Definition: OMEModelObject.h:94
Channel model object.
Definition: Channel.h:92
const ome::compat::weak_ptr< ome::xml::model::Annotation > & getLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index) const
Get linked Annotation.
Definition: Channel.cpp:918
const std::string & getID() const
Get the ID property.
Definition: Channel.cpp:800
void setNDFilter(ome::compat::shared_ptr< double > &ndFilter)
Set the NDFilter property.
Definition: Channel.cpp:772
void setFluor(ome::compat::shared_ptr< std::string > &fluor)
Set the Fluor property.
Definition: Channel.cpp:730
void setContrastMethod(ome::compat::shared_ptr< ome::xml::model::enums::ContrastMethod > &contrastMethod)
Set the ContrastMethod property.
Definition: Channel.cpp:667
void setEmissionWavelength(const ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > &emissionWavelength)
Set the EmissionWavelength property.
Definition: Channel.cpp:793
void setLightPath(ome::compat::shared_ptr< ome::xml::model::LightPath > &lightPath)
Set the LightPath property.
Definition: Channel.cpp:980
Channel & operator=(const Channel &)
Assignment operator (deleted).
Multi-index container for efficient ordered insertion and deletion of model object references...
Definition: OMEModelObject.h:85
bool linkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Link Annotation.
Definition: Channel.cpp:934
Open Microscopy Environment C++ implementation.
ome::compat::shared_ptr< ome::xml::model::enums::AcquisitionMode > getAcquisitionMode()
Get the AcquisitionMode property.
Definition: Channel.cpp:611
Private implementation details of Channel model object.
Definition: Channel.cpp:94
void setPinholeSize(const ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > &pinholeSize)
Set the PinholeSize property.
Definition: Channel.cpp:583
ome::compat::shared_ptr< ome::xml::model::LightSourceSettings > getLightSourceSettings()
Get the LightSourceSettings property.
Definition: Channel.cpp:835
void setName(ome::compat::shared_ptr< std::string > &name)
Set the Name property.
Definition: Channel.cpp:604
ome::compat::shared_ptr< double > getNDFilter()
Get the NDFilter property.
Definition: Channel.cpp:758
const ome::compat::weak_ptr< ome::xml::model::Annotation > & setLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Set linked Annotation.
Definition: Channel.cpp:924
ome::compat::shared_ptr< ome::xml::model::enums::IlluminationType > getIlluminationType()
Get the IlluminationType property.
Definition: Channel.cpp:695
ome::compat::shared_ptr< ome::xml::model::DetectorSettings > getDetectorSettings()
Get the DetectorSettings property.
Definition: Channel.cpp:856
void setLightSourceSettings(ome::compat::shared_ptr< ome::xml::model::LightSourceSettings > &lightSourceSettings)
Set the LightSourceSettings property.
Definition: Channel.cpp:849
A quantity of a defined unit.
Definition: Quantity.h:57
virtual common::xml::dom::Element asXMLElement(common::xml::dom::Document &document) const
Transform the object hierarchy rooted at this element to XML.
Definition: Channel.cpp:1007
ome::compat::shared_ptr< int32_t > getPockelCellSetting()
Get the PockelCellSetting property.
Definition: Channel.cpp:737
ome::compat::shared_ptr< ome::xml::model::LightPath > getLightPath()
Get the LightPath property.
Definition: Channel.cpp:966
bool link(ome::compat::shared_ptr< Reference > &reference, ome::compat::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: Channel.cpp:527
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type sizeOfLinkedAnnotationList() const
Get size of linked Annotation list.
Definition: Channel.cpp:906
void setPockelCellSetting(ome::compat::shared_ptr< int32_t > &pockelCellSetting)
Set the PockelCellSetting property.
Definition: Channel.cpp:751
void unlinkFilterSet(ome::compat::shared_ptr< ome::xml::model::FilterSet > &filterSet)
Unlink FilterSet.
Definition: Channel.cpp:896
ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > & getEmissionWavelength()
Get the EmissionWavelength property.
Definition: Channel.cpp:779
void setPixels(ome::compat::weak_ptr< ome::xml::model::Pixels > &pixels_BackReference)
Set the Pixels property.
Definition: Channel.cpp:1001
void setID(const std::string &id)
Set the ID property.
Definition: Channel.cpp:807
void setIlluminationType(ome::compat::shared_ptr< ome::xml::model::enums::IlluminationType > &illuminationType)
Set the IlluminationType property.
Definition: Channel.cpp:709
static ome::compat::shared_ptr< Channel > create(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Create a Channel model object from DOM element.
Definition: Channel.cpp:283
ome::compat::shared_ptr< ome::xml::model::primitives::Color > getColor()
Get the Color property.
Definition: Channel.cpp:632
ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > & getPinholeSize()
Get the PinholeSize property.
Definition: Channel.cpp:569
ome::compat::weak_ptr< ome::xml::model::FilterSet > getLinkedFilterSet()
Get linked FilterSet.
Definition: Channel.cpp:877
bool unlinkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Unlink Annotation.
Definition: Channel.cpp:948
virtual common::xml::dom::Element asXMLElementInternal(common::xml::dom::Document &document, common::xml::dom::Element &element) const
Transform the object hierarchy rooted at this element to XML.
Definition: Channel.cpp:1014
const std::string & elementName() const
Get the element name of this model object.
Definition: Channel.cpp:292
void setAcquisitionMode(ome::compat::shared_ptr< ome::xml::model::enums::AcquisitionMode > &acquisitionMode)
Set the AcquisitionMode property.
Definition: Channel.cpp:625