ome-xml  5.6.0
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ome::xml::model::Instrument Class Reference

Instrument model object. More...

#include <ome/xml/model/Instrument.h>

+ Inheritance diagram for ome::xml::model::Instrument:
+ Collaboration diagram for ome::xml::model::Instrument:

Classes

class  Impl
 Private implementation details of Instrument model object. More...
 

Public Member Functions

 Instrument ()
 Default constructor.
 
 Instrument (const Instrument &copy)
 Copy constructor. More...
 
virtual ~Instrument ()
 Destructor.
 
const std::string & elementName () const
 Get the element name of this model object. More...
 
bool validElementName (const std::string &name) const
 Check if a given element name is valid for processing by this model object. More...
 
virtual SKIP void update (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
 Update the object hierarchy recursively from an XML DOM tree. More...
 
bool link (std::shared_ptr< Reference > &reference, std::shared_ptr< ome::xml::model::OMEModelObject > &object)
 Link a given OME model object to this model object. More...
 
const std::string & getID () const
 Get the ID property. More...
 
void setID (const std::string &id)
 Set the ID property. More...
 
std::shared_ptr< ome::xml::model::MicroscopegetMicroscope ()
 Get the Microscope property. More...
 
const std::shared_ptr< ome::xml::model::MicroscopegetMicroscope () const
 Get the Microscope property. More...
 
void setMicroscope (std::shared_ptr< ome::xml::model::Microscope > &microscope)
 Set the Microscope property. More...
 
std::vector< std::shared_ptr< ome::xml::model::LightSource > >::size_type sizeOfLightSourceList () const
 Get size of linked LightSource list. More...
 
std::vector< std::shared_ptr< ome::xml::model::LightSource > > & getLightSourceList ()
 Get the LightSource list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::LightSource > > & getLightSourceList () const
 Get the LightSource list. More...
 
std::shared_ptr< ome::xml::model::LightSource > & getLightSource (std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type index)
 Get LightSource. More...
 
const std::shared_ptr< ome::xml::model::LightSource > & getLightSource (std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type index) const
 Get LightSource. More...
 
void setLightSource (std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type index, std::shared_ptr< ome::xml::model::LightSource > &lightSource)
 Set LightSource. More...
 
void addLightSource (std::shared_ptr< ome::xml::model::LightSource > &lightSource)
 Add LightSource. More...
 
void removeLightSource (std::shared_ptr< ome::xml::model::LightSource > &lightSource)
 Remove LightSource. More...
 
std::vector< std::shared_ptr< ome::xml::model::Detector > >::size_type sizeOfDetectorList () const
 Get size of linked Detector list. More...
 
std::vector< std::shared_ptr< ome::xml::model::Detector > > & getDetectorList ()
 Get the Detector list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::Detector > > & getDetectorList () const
 Get the Detector list. More...
 
std::shared_ptr< ome::xml::model::Detector > & getDetector (std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type index)
 Get Detector. More...
 
const std::shared_ptr< ome::xml::model::Detector > & getDetector (std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type index) const
 Get Detector. More...
 
void setDetector (std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type index, std::shared_ptr< ome::xml::model::Detector > &detector)
 Set Detector. More...
 
void addDetector (std::shared_ptr< ome::xml::model::Detector > &detector)
 Add Detector. More...
 
void removeDetector (std::shared_ptr< ome::xml::model::Detector > &detector)
 Remove Detector. More...
 
std::vector< std::shared_ptr< ome::xml::model::Objective > >::size_type sizeOfObjectiveList () const
 Get size of linked Objective list. More...
 
std::vector< std::shared_ptr< ome::xml::model::Objective > > & getObjectiveList ()
 Get the Objective list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::Objective > > & getObjectiveList () const
 Get the Objective list. More...
 
std::shared_ptr< ome::xml::model::Objective > & getObjective (std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type index)
 Get Objective. More...
 
const std::shared_ptr< ome::xml::model::Objective > & getObjective (std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type index) const
 Get Objective. More...
 
void setObjective (std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type index, std::shared_ptr< ome::xml::model::Objective > &objective)
 Set Objective. More...
 
void addObjective (std::shared_ptr< ome::xml::model::Objective > &objective)
 Add Objective. More...
 
void removeObjective (std::shared_ptr< ome::xml::model::Objective > &objective)
 Remove Objective. More...
 
std::vector< std::shared_ptr< ome::xml::model::FilterSet > >::size_type sizeOfFilterSetList () const
 Get size of linked FilterSet list. More...
 
std::vector< std::shared_ptr< ome::xml::model::FilterSet > > & getFilterSetList ()
 Get the FilterSet list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::FilterSet > > & getFilterSetList () const
 Get the FilterSet list. More...
 
std::shared_ptr< ome::xml::model::FilterSet > & getFilterSet (std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type index)
 Get FilterSet. More...
 
const std::shared_ptr< ome::xml::model::FilterSet > & getFilterSet (std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type index) const
 Get FilterSet. More...
 
void setFilterSet (std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type index, std::shared_ptr< ome::xml::model::FilterSet > &filterSet)
 Set FilterSet. More...
 
void addFilterSet (std::shared_ptr< ome::xml::model::FilterSet > &filterSet)
 Add FilterSet. More...
 
void removeFilterSet (std::shared_ptr< ome::xml::model::FilterSet > &filterSet)
 Remove FilterSet. More...
 
std::vector< std::shared_ptr< ome::xml::model::Filter > >::size_type sizeOfFilterList () const
 Get size of linked Filter list. More...
 
std::vector< std::shared_ptr< ome::xml::model::Filter > > & getFilterList ()
 Get the Filter list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::Filter > > & getFilterList () const
 Get the Filter list. More...
 
std::shared_ptr< ome::xml::model::Filter > & getFilter (std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type index)
 Get Filter. More...
 
const std::shared_ptr< ome::xml::model::Filter > & getFilter (std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type index) const
 Get Filter. More...
 
void setFilter (std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type index, std::shared_ptr< ome::xml::model::Filter > &filter)
 Set Filter. More...
 
void addFilter (std::shared_ptr< ome::xml::model::Filter > &filter)
 Add Filter. More...
 
void removeFilter (std::shared_ptr< ome::xml::model::Filter > &filter)
 Remove Filter. More...
 
std::vector< std::shared_ptr< ome::xml::model::Dichroic > >::size_type sizeOfDichroicList () const
 Get size of linked Dichroic list. More...
 
std::vector< std::shared_ptr< ome::xml::model::Dichroic > > & getDichroicList ()
 Get the Dichroic list. More...
 
const std::vector< std::shared_ptr< ome::xml::model::Dichroic > > & getDichroicList () const
 Get the Dichroic list. More...
 
std::shared_ptr< ome::xml::model::Dichroic > & getDichroic (std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type index)
 Get Dichroic. More...
 
const std::shared_ptr< ome::xml::model::Dichroic > & getDichroic (std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type index) const
 Get Dichroic. More...
 
void setDichroic (std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type index, std::shared_ptr< ome::xml::model::Dichroic > &dichroic)
 Set Dichroic. More...
 
void addDichroic (std::shared_ptr< ome::xml::model::Dichroic > &dichroic)
 Add Dichroic. More...
 
void removeDichroic (std::shared_ptr< ome::xml::model::Dichroic > &dichroic)
 Remove Dichroic. More...
 
OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type sizeOfLinkedAnnotationList () const
 Get size of linked Annotation list. More...
 
OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type getLinkedAnnotationList () const
 Get the linked Annotation list. More...
 
const std::weak_ptr< ome::xml::model::Annotation > & getLinkedAnnotation (OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type index) const
 Get linked Annotation. More...
 
const std::weak_ptr< ome::xml::model::Annotation > & setLinkedAnnotation (OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type index, const std::shared_ptr< ome::xml::model::Annotation > &annotation)
 Set linked Annotation. More...
 
bool linkAnnotation (const std::shared_ptr< ome::xml::model::Annotation > &annotation)
 Link Annotation. More...
 
bool unlinkAnnotation (const std::shared_ptr< ome::xml::model::Annotation > &annotation)
 Unlink Annotation. More...
 
OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type sizeOfLinkedImageList () const
 Get size of linked Image list. More...
 
OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type getLinkedImageList () const
 Get the linked Image list. More...
 
const std::weak_ptr< ome::xml::model::Image > & getLinkedImage (OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type index) const
 Get linked Image. More...
 
const std::weak_ptr< ome::xml::model::Image > & setLinkedImage (OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type index, const std::shared_ptr< ome::xml::model::Image > &image_BackReference)
 Set linked Image. More...
 
bool linkImage (const std::shared_ptr< ome::xml::model::Image > &image_BackReference)
 Link Image. More...
 
bool unlinkImage (const std::shared_ptr< ome::xml::model::Image > &image_BackReference)
 Unlink Image. More...
 
const std::string & getXMLNamespace () const
 Get the XML namespace for this model object. More...
 
- Public Member Functions inherited from ome::xml::model::detail::OMEModelObject
virtual ~OMEModelObject ()
 Destructor.
 
virtual common::xml::dom::Element asXMLElement (common::xml::dom::Document &document) const
 Transform the object hierarchy rooted at this element to XML. More...
 
virtual void asXMLElement (common::xml::dom::Document &document, common::xml::dom::Element &element) const
 Transform the object hierarchy rooted at this element to XML. More...
 
virtual void update (const common::xml::dom::Element &element, ::ome::xml::model::OMEModel &model)
 Update the object hierarchy recursively from an XML DOM tree. More...
 
virtual bool link (std::shared_ptr< Reference > &reference, std::shared_ptr<::ome::xml::model::OMEModelObject > &object)
 Link a given OME model object to this model object. More...
 
- Public Member Functions inherited from ome::xml::model::OMEModelObject
virtual bool link (std::shared_ptr< Reference > &reference, std::shared_ptr< OMEModelObject > &object)=0
 Link a given OME model object to this model object. More...
 

Static Public Member Functions

static std::shared_ptr< Instrumentcreate (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
 Create a Instrument model object from DOM element. More...
 
- Static Public Member Functions inherited from ome::xml::model::detail::OMEModelObject
static std::vector< common::xml::dom::ElementgetChildrenByTagName (const common::xml::dom::Element &parent, const std::string &name)
 Retrieve all the children of an element that have a given tag name. More...
 
static std::string stripNamespacePrefix (const std::string &value)
 Strip the namespace prefix from a tag name. More...
 

Protected Member Functions

virtual void asXMLElementInternal (common::xml::dom::Document &document, common::xml::dom::Element &element) const
 Transform the object hierarchy rooted at this element to XML. More...
 
- Protected Member Functions inherited from ome::xml::model::detail::OMEModelObject
 OMEModelObject (const std::string &objectType="OMEModelObject")
 Constructor. More...
 
 OMEModelObject (const OMEModelObject &copy)
 Copy constructor. More...
 
template<class C , typename T >
bool contains (const C &container, const std::shared_ptr< T > &element)
 Check if a container contains a particular element. More...
 
- Protected Member Functions inherited from ome::xml::model::OMEModelObject
 OMEModelObject ()
 Constructor.
 

Private Attributes

std::shared_ptr< Implimpl
 Private implementation details.
 

Additional Inherited Members

- Protected Attributes inherited from ome::xml::model::detail::OMEModelObject
ome::common::Logger logger
 Message logger.
 

Detailed Description

Instrument model object.

Constructor & Destructor Documentation

◆ Instrument()

ome::xml::model::Instrument::Instrument ( const Instrument copy)

Copy constructor.

Parameters
copythe Instrument to copy.

Member Function Documentation

◆ addDetector()

void ome::xml::model::Instrument::addDetector ( std::shared_ptr< ome::xml::model::Detector > &  detector)

Add Detector.

Parameters
detectorthe Detector to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ addDichroic()

void ome::xml::model::Instrument::addDichroic ( std::shared_ptr< ome::xml::model::Dichroic > &  dichroic)

Add Dichroic.

Parameters
dichroicthe Dichroic to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ addFilter()

void ome::xml::model::Instrument::addFilter ( std::shared_ptr< ome::xml::model::Filter > &  filter)

Add Filter.

Parameters
filterthe Filter to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ addFilterSet()

void ome::xml::model::Instrument::addFilterSet ( std::shared_ptr< ome::xml::model::FilterSet > &  filterSet)

Add FilterSet.

Parameters
filterSetthe FilterSet to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ addLightSource()

void ome::xml::model::Instrument::addLightSource ( std::shared_ptr< ome::xml::model::LightSource > &  lightSource)

Add LightSource.

Parameters
lightSourcethe LightSource to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ addObjective()

void ome::xml::model::Instrument::addObjective ( std::shared_ptr< ome::xml::model::Objective > &  objective)

Add Objective.

Parameters
objectivethe Objective to add.
Todo:

Return list position?

Detect and handle duplicates?

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ asXMLElementInternal()

void ome::xml::model::Instrument::asXMLElementInternal ( common::xml::dom::Document document,
common::xml::dom::Element element 
) const
protectedvirtual

Transform the object hierarchy rooted at this element to XML.

This internal implementation of asXMLelement also requires an XML element, which must not be null, or may be instantiated and passed from superclasses.

Concrete model object implementations should override this method.

Parameters
documentXML document for element creation.
elementXML element for setting model data.

Implements ome::xml::model::detail::OMEModelObject.

References ome::common::xml::dom::Node::appendChild(), ome::xml::model::detail::OMEModelObject::asXMLElementInternal(), ome::common::xml::dom::Document::createElementNS(), getXMLNamespace(), impl, and ome::common::xml::dom::Element::setAttribute().

◆ create()

std::shared_ptr< Instrument > ome::xml::model::Instrument::create ( const common::xml::dom::Element element,
ome::xml::model::OMEModel model 
)
static

Create a Instrument model object from DOM element.

Parameters
elementroot of the XML DOM tree to from which to construct the model object graph.
modelhandler for the OME model used to track instances and references seen during the update.
Exceptions
EnumerationExceptionif there is an error instantiating an enumeration during model object creation, or ModelException if there are any consistency or validity errors found during processing.
Returns
a new model object.

Referenced by ome::xml::model::OME::update().

+ Here is the caller graph for this function:

◆ elementName()

const std::string & ome::xml::model::Instrument::elementName ( ) const
virtual

Get the element name of this model object.

This will be the most-derived class name.

Returns
the element type.

Implements ome::xml::model::OMEModelObject.

◆ getDetector() [1/2]

std::shared_ptr< ome::xml::model::Detector > & ome::xml::model::Instrument::getDetector ( std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type  index)

Get Detector.

Parameters
indexthe index number of the Detector.
Returns
the Detector.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getDetector() [2/2]

const std::shared_ptr< ome::xml::model::Detector > & ome::xml::model::Instrument::getDetector ( std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type  index) const

Get Detector.

Parameters
indexthe index number of the Detector.
Returns
the Detector.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getDetectorList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::Detector > > & ome::xml::model::Instrument::getDetectorList ( )

Get the Detector list.

Returns
a reference to the list.

References impl.

◆ getDetectorList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::Detector > > & ome::xml::model::Instrument::getDetectorList ( ) const

Get the Detector list.

Returns
a reference to the list.

References impl.

◆ getDichroic() [1/2]

std::shared_ptr< ome::xml::model::Dichroic > & ome::xml::model::Instrument::getDichroic ( std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type  index)

Get Dichroic.

Parameters
indexthe index number of the Dichroic.
Returns
the Dichroic.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getDichroic() [2/2]

const std::shared_ptr< ome::xml::model::Dichroic > & ome::xml::model::Instrument::getDichroic ( std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type  index) const

Get Dichroic.

Parameters
indexthe index number of the Dichroic.
Returns
the Dichroic.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getDichroicList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::Dichroic > > & ome::xml::model::Instrument::getDichroicList ( )

Get the Dichroic list.

Returns
a reference to the list.

References impl.

◆ getDichroicList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::Dichroic > > & ome::xml::model::Instrument::getDichroicList ( ) const

Get the Dichroic list.

Returns
a reference to the list.

References impl.

◆ getFilter() [1/2]

std::shared_ptr< ome::xml::model::Filter > & ome::xml::model::Instrument::getFilter ( std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type  index)

Get Filter.

Parameters
indexthe index number of the Filter.
Returns
the Filter.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getFilter() [2/2]

const std::shared_ptr< ome::xml::model::Filter > & ome::xml::model::Instrument::getFilter ( std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type  index) const

Get Filter.

Parameters
indexthe index number of the Filter.
Returns
the Filter.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getFilterList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::Filter > > & ome::xml::model::Instrument::getFilterList ( )

Get the Filter list.

Returns
a reference to the list.

References impl.

◆ getFilterList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::Filter > > & ome::xml::model::Instrument::getFilterList ( ) const

Get the Filter list.

Returns
a reference to the list.

References impl.

◆ getFilterSet() [1/2]

std::shared_ptr< ome::xml::model::FilterSet > & ome::xml::model::Instrument::getFilterSet ( std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type  index)

Get FilterSet.

Parameters
indexthe index number of the FilterSet.
Returns
the FilterSet.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getFilterSet() [2/2]

const std::shared_ptr< ome::xml::model::FilterSet > & ome::xml::model::Instrument::getFilterSet ( std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type  index) const

Get FilterSet.

Parameters
indexthe index number of the FilterSet.
Returns
the FilterSet.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getFilterSetList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::FilterSet > > & ome::xml::model::Instrument::getFilterSetList ( )

Get the FilterSet list.

Returns
a reference to the list.

References impl.

◆ getFilterSetList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::FilterSet > > & ome::xml::model::Instrument::getFilterSetList ( ) const

Get the FilterSet list.

Returns
a reference to the list.

References impl.

◆ getID()

const std::string & ome::xml::model::Instrument::getID ( ) const

Get the ID property.

Returns
the ID property.

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ getLightSource() [1/2]

std::shared_ptr< ome::xml::model::LightSource > & ome::xml::model::Instrument::getLightSource ( std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type  index)

Get LightSource.

Parameters
indexthe index number of the LightSource.
Returns
the LightSource.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getLightSource() [2/2]

const std::shared_ptr< ome::xml::model::LightSource > & ome::xml::model::Instrument::getLightSource ( std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type  index) const

Get LightSource.

Parameters
indexthe index number of the LightSource.
Returns
the LightSource.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getLightSourceList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::LightSource > > & ome::xml::model::Instrument::getLightSourceList ( )

Get the LightSource list.

Returns
a reference to the list.

References impl.

◆ getLightSourceList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::LightSource > > & ome::xml::model::Instrument::getLightSourceList ( ) const

Get the LightSource list.

Returns
a reference to the list.

References impl.

◆ getLinkedAnnotation()

const std::weak_ptr< ome::xml::model::Annotation > & ome::xml::model::Instrument::getLinkedAnnotation ( OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type  index) const

Get linked Annotation.

Parameters
indexthe index number of the Annotation.
Returns
a weak pointer to the Annotation.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getLinkedAnnotationList()

OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type ome::xml::model::Instrument::getLinkedAnnotationList ( ) const

Get the linked Annotation list.

Returns
a reference to the list.

References impl.

◆ getLinkedImage()

const std::weak_ptr< ome::xml::model::Image > & ome::xml::model::Instrument::getLinkedImage ( OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type  index) const

Get linked Image.

Parameters
indexthe index number of the Image.
Returns
a weak pointer to the Image.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getLinkedImageList()

OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type ome::xml::model::Instrument::getLinkedImageList ( ) const

Get the linked Image list.

Returns
a reference to the list.

References impl.

◆ getMicroscope() [1/2]

std::shared_ptr< ome::xml::model::Microscope > ome::xml::model::Instrument::getMicroscope ( )

Get the Microscope property.

Returns
the Microscope property.

References impl.

◆ getMicroscope() [2/2]

const std::shared_ptr< ome::xml::model::Microscope > ome::xml::model::Instrument::getMicroscope ( ) const

Get the Microscope property.

Returns
the Microscope property.

References impl.

◆ getObjective() [1/2]

std::shared_ptr< ome::xml::model::Objective > & ome::xml::model::Instrument::getObjective ( std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type  index)

Get Objective.

Parameters
indexthe index number of the Objective.
Returns
the Objective.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getObjective() [2/2]

const std::shared_ptr< ome::xml::model::Objective > & ome::xml::model::Instrument::getObjective ( std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type  index) const

Get Objective.

Parameters
indexthe index number of the Objective.
Returns
the Objective.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ getObjectiveList() [1/2]

std::vector< std::shared_ptr< ome::xml::model::Objective > > & ome::xml::model::Instrument::getObjectiveList ( )

Get the Objective list.

Returns
a reference to the list.

References impl.

◆ getObjectiveList() [2/2]

const std::vector< std::shared_ptr< ome::xml::model::Objective > > & ome::xml::model::Instrument::getObjectiveList ( ) const

Get the Objective list.

Returns
a reference to the list.

References impl.

◆ getXMLNamespace()

const std::string & ome::xml::model::Instrument::getXMLNamespace ( ) const
virtual

Get the XML namespace for this model object.

Returns
the XML namespace.

Implements ome::xml::model::OMEModelObject.

Referenced by asXMLElementInternal().

+ Here is the caller graph for this function:

◆ link()

bool ome::xml::model::Instrument::link ( std::shared_ptr< Reference > &  reference,
std::shared_ptr< ome::xml::model::OMEModelObject > &  object 
)

Link a given OME model object to this model object.

Parameters
referencetype qualifier for the reference. This should be the corresponding reference type for object. If, for example, object is of type Image, reference must be of type ImageRef.
objectModel object to link to.
Returns
true if this model object was able to handle the reference, otherwise false.
Todo:
the use of reference to provide type information for the type of object is unconventional and quite possibly unnecessary–a simple string or type_info would suffice for what it's being used for, if it's needed at all. Is this true for all cases? The implementation also needs to do strict checking of the object type; it's not currently failing if it's of the wrong type. This applies to all generated model objects implementing this interface.
Todo:
This bit is silly; why do we have two dynamic_casts here.

References impl, ome::xml::model::detail::OMEModelObject::link(), ome::xml::model::Annotation::linkInstrument(), and ome::xml::model::detail::OMEModelObject::logger.

◆ linkAnnotation()

bool ome::xml::model::Instrument::linkAnnotation ( const std::shared_ptr< ome::xml::model::Annotation > &  annotation)

Link Annotation.

Parameters
annotationthe Annotation to link.
Returns
true if the object was added to the internal annotationLinks list, otherwise false.
Todo:
Why have a return value here; what is it used for? Is this an artifact of the Java API?

References impl.

◆ linkImage()

bool ome::xml::model::Instrument::linkImage ( const std::shared_ptr< ome::xml::model::Image > &  image_BackReference)

Link Image.

Parameters
image_BackReferencethe Image to link.
Returns
true if the object was added to the internal images list, otherwise false.
Todo:
Why have a return value here; what is it used for? Is this an artifact of the Java API?

References impl.

Referenced by ome::xml::model::Image::link().

+ Here is the caller graph for this function:

◆ removeDetector()

void ome::xml::model::Instrument::removeDetector ( std::shared_ptr< ome::xml::model::Detector > &  detector)

Remove Detector.

Parameters
detectorthe Detector to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ removeDichroic()

void ome::xml::model::Instrument::removeDichroic ( std::shared_ptr< ome::xml::model::Dichroic > &  dichroic)

Remove Dichroic.

Parameters
dichroicthe Dichroic to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ removeFilter()

void ome::xml::model::Instrument::removeFilter ( std::shared_ptr< ome::xml::model::Filter > &  filter)

Remove Filter.

Parameters
filterthe Filter to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ removeFilterSet()

void ome::xml::model::Instrument::removeFilterSet ( std::shared_ptr< ome::xml::model::FilterSet > &  filterSet)

Remove FilterSet.

Parameters
filterSetthe FilterSet to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ removeLightSource()

void ome::xml::model::Instrument::removeLightSource ( std::shared_ptr< ome::xml::model::LightSource > &  lightSource)

Remove LightSource.

Parameters
lightSourcethe LightSource to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ removeObjective()

void ome::xml::model::Instrument::removeObjective ( std::shared_ptr< ome::xml::model::Objective > &  objective)

Remove Objective.

Parameters
objectivethe Objective to remove.
Todo:

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ setDetector()

void ome::xml::model::Instrument::setDetector ( std::vector< std::shared_ptr< ome::xml::model::Detector >>::size_type  index,
std::shared_ptr< ome::xml::model::Detector > &  detector 
)

Set Detector.

Parameters
indexthe index number of the Detector.
detectorthe Detector to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setDichroic()

void ome::xml::model::Instrument::setDichroic ( std::vector< std::shared_ptr< ome::xml::model::Dichroic >>::size_type  index,
std::shared_ptr< ome::xml::model::Dichroic > &  dichroic 
)

Set Dichroic.

Parameters
indexthe index number of the Dichroic.
dichroicthe Dichroic to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setFilter()

void ome::xml::model::Instrument::setFilter ( std::vector< std::shared_ptr< ome::xml::model::Filter >>::size_type  index,
std::shared_ptr< ome::xml::model::Filter > &  filter 
)

Set Filter.

Parameters
indexthe index number of the Filter.
filterthe Filter to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setFilterSet()

void ome::xml::model::Instrument::setFilterSet ( std::vector< std::shared_ptr< ome::xml::model::FilterSet >>::size_type  index,
std::shared_ptr< ome::xml::model::FilterSet > &  filterSet 
)

Set FilterSet.

Parameters
indexthe index number of the FilterSet.
filterSetthe FilterSet to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setID()

void ome::xml::model::Instrument::setID ( const std::string &  id)

Set the ID property.

Parameters
idthe value to set.

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ setLightSource()

void ome::xml::model::Instrument::setLightSource ( std::vector< std::shared_ptr< ome::xml::model::LightSource >>::size_type  index,
std::shared_ptr< ome::xml::model::LightSource > &  lightSource 
)

Set LightSource.

Parameters
indexthe index number of the LightSource.
lightSourcethe LightSource to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setLinkedAnnotation()

const std::weak_ptr< ome::xml::model::Annotation > & ome::xml::model::Instrument::setLinkedAnnotation ( OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type  index,
const std::shared_ptr< ome::xml::model::Annotation > &  annotation 
)

Set linked Annotation.

Note
The index must be valid.
Parameters
indexthe index number of the Annotation.
annotationthe Annotation to set.
Returns
a weak pointer to the Annotation.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setLinkedImage()

const std::weak_ptr< ome::xml::model::Image > & ome::xml::model::Instrument::setLinkedImage ( OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type  index,
const std::shared_ptr< ome::xml::model::Image > &  image_BackReference 
)

Set linked Image.

Note
The index must be valid.
Parameters
indexthe index number of the Image.
image_BackReferencethe Image to set.
Returns
a weak pointer to the Image.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ setMicroscope()

void ome::xml::model::Instrument::setMicroscope ( std::shared_ptr< ome::xml::model::Microscope > &  microscope)

Set the Microscope property.

Parameters
microscopethe value to set.

References impl.

Referenced by update().

+ Here is the caller graph for this function:

◆ setObjective()

void ome::xml::model::Instrument::setObjective ( std::vector< std::shared_ptr< ome::xml::model::Objective >>::size_type  index,
std::shared_ptr< ome::xml::model::Objective > &  objective 
)

Set Objective.

Parameters
indexthe index number of the Objective.
objectivethe Objective to set.
Exceptions
std::out_of_rangeif the index is invalid.

References impl.

◆ sizeOfDetectorList()

std::vector< std::shared_ptr< ome::xml::model::Detector > >::size_type ome::xml::model::Instrument::sizeOfDetectorList ( ) const

Get size of linked Detector list.

Returns
the size of the list.

References impl.

◆ sizeOfDichroicList()

std::vector< std::shared_ptr< ome::xml::model::Dichroic > >::size_type ome::xml::model::Instrument::sizeOfDichroicList ( ) const

Get size of linked Dichroic list.

Returns
the size of the list.

References impl.

◆ sizeOfFilterList()

std::vector< std::shared_ptr< ome::xml::model::Filter > >::size_type ome::xml::model::Instrument::sizeOfFilterList ( ) const

Get size of linked Filter list.

Returns
the size of the list.

References impl.

◆ sizeOfFilterSetList()

std::vector< std::shared_ptr< ome::xml::model::FilterSet > >::size_type ome::xml::model::Instrument::sizeOfFilterSetList ( ) const

Get size of linked FilterSet list.

Returns
the size of the list.

References impl.

◆ sizeOfLightSourceList()

std::vector< std::shared_ptr< ome::xml::model::LightSource > >::size_type ome::xml::model::Instrument::sizeOfLightSourceList ( ) const

Get size of linked LightSource list.

Returns
the size of the list.

References impl.

◆ sizeOfLinkedAnnotationList()

OMEModelObject::indexed_container< ome::xml::model::Annotation, std::weak_ptr >::type::size_type ome::xml::model::Instrument::sizeOfLinkedAnnotationList ( ) const

Get size of linked Annotation list.

Returns
the size of the list.

References impl.

◆ sizeOfLinkedImageList()

OMEModelObject::indexed_container< ome::xml::model::Image, std::weak_ptr >::type::size_type ome::xml::model::Instrument::sizeOfLinkedImageList ( ) const

Get size of linked Image list.

Returns
the size of the list.

References impl.

◆ sizeOfObjectiveList()

std::vector< std::shared_ptr< ome::xml::model::Objective > >::size_type ome::xml::model::Instrument::sizeOfObjectiveList ( ) const

Get size of linked Objective list.

Returns
the size of the list.

References impl.

◆ unlinkAnnotation()

bool ome::xml::model::Instrument::unlinkAnnotation ( const std::shared_ptr< ome::xml::model::Annotation > &  annotation)

Unlink Annotation.

Parameters
annotationthe Annotation to unlink.
Returns
true if the Annotation was unlinked, otherwise false if the Annotation was not linked and could hence not be unlinked.
Todo:

Does the return value serve any useful purpose? Is this also inherited Java API?

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ unlinkImage()

bool ome::xml::model::Instrument::unlinkImage ( const std::shared_ptr< ome::xml::model::Image > &  image_BackReference)

Unlink Image.

Parameters
image_BackReferencethe Image to unlink.
Returns
true if the Image was unlinked, otherwise false if the Image was not linked and could hence not be unlinked.
Todo:

Does the return value serve any useful purpose? Is this also inherited Java API?

Doesn't the removal break the indexing?

Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

◆ update()

void ome::xml::model::Instrument::update ( const common::xml::dom::Element element,
ome::xml::model::OMEModel model 
)
virtual

Update the object hierarchy recursively from an XML DOM tree.

Note
No properties are removed, only added or updated.
Parameters
elementroot of the XML DOM tree to from which to construct the model object graph.
modelhandler for the OME model used to track instances and references seen during the update.
Exceptions
EnumerationExceptionif there is an error instantiating an enumeration during model object creation, or ModelException if there are any consistency or validity errors found during processing.

Implements ome::xml::model::OMEModelObject.

References addDetector(), addDichroic(), addFilter(), addFilterSet(), addLightSource(), ome::xml::model::OMEModel::addModelObject(), addObjective(), ome::xml::model::OMEModel::addReference(), ome::xml::model::LightEmittingDiode::create(), ome::xml::model::Microscope::create(), ome::xml::model::GenericExcitationSource::create(), ome::xml::model::Arc::create(), ome::xml::model::Filament::create(), ome::xml::model::Detector::create(), ome::xml::model::FilterSet::create(), ome::xml::model::Dichroic::create(), ome::xml::model::Objective::create(), ome::xml::model::Filter::create(), ome::xml::model::Laser::create(), ome::common::xml::dom::Element::getAttribute(), ome::xml::model::detail::OMEModelObject::getChildrenByTagName(), getID(), ome::common::xml::dom::Element::getTagName(), ome::common::xml::dom::Element::hasAttribute(), ome::xml::model::detail::OMEModelObject::logger, setID(), setMicroscope(), ome::xml::model::detail::OMEModelObject::update(), and validElementName().

◆ validElementName()

bool ome::xml::model::Instrument::validElementName ( const std::string &  name) const
virtual

Check if a given element name is valid for processing by this model object.

Used for processing nodes when interitance is involved.

Parameters
namethe element name to check.
Returns
true if valid, false if invalid.
Deprecated:
Always returns true since any element name is now regarded as being valid.

Implements ome::xml::model::detail::OMEModelObject.

Referenced by update().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: