Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::ImageLayoutGL Class Reference

#include <imagelayoutgl.h>

Inheritance diagram for inviwo::ImageLayoutGL:

Public Types

enum class  Layout {
  Single , HorizontalSplit , VerticalSplit , CrossSplit ,
  ThreeLeftOneRight , ThreeRightOneLeft , HorizontalSplitMultiple , VerticalSplitMultiple
}
Public Types inherited from inviwo::Processor
using NameDispatcher = Dispatcher<void(std::string_view, std::string_view)>
using NameDispatcherHandle = typename NameDispatcher::Handle
Public Types inherited from inviwo::PropertyOwner
using iterator = std::vector<Property*>::iterator
using const_iterator = std::vector<Property*>::const_iterator

Public Member Functions

virtual const ProcessorInfogetProcessorInfo () const override
virtual void propagateEvent (Event *, Outport *source) override
virtual bool isConnectionActive (Inport *inport, Outport *outport) const override
Public Member Functions inherited from inviwo::Processor
 Processor (std::string_view identifier="", std::string_view displayName="")
const std::string & getClassIdentifier () const
const std::string & getCategory () const
CodeState getCodeState () const
const TagsgetTags () const
void setIdentifier (std::string_view identifier)
virtual const std::string & getIdentifier () const override
NameDispatcherHandle onIdentifierChange (std::function< void(std::string_view, std::string_view)> callback)
void setDisplayName (std::string_view displayName)
const std::string & getDisplayName () const
NameDispatcherHandle onDisplayNameChange (std::function< void(std::string_view, std::string_view)> callback)
virtual void setProcessorWidget (std::unique_ptr< ProcessorWidget > processorWidget)
ProcessorWidgetgetProcessorWidget () const
bool hasProcessorWidget () const
virtual void setNetwork (ProcessorNetwork *network)
ProcessorNetworkgetNetwork () const
virtual void initializeResources ()
PortgetPort (std::string_view identifier) const
InportgetInport (std::string_view identifier) const
OutportgetOutport (std::string_view identifier) const
const std::vector< Inport * > & getInports () const
const std::vector< Outport * > & getOutports () const
const std::string & getPortGroup (Port *port) const
std::vector< std::string > getPortGroups () const
const std::vector< Port * > & getPortsInGroup (std::string_view portGroup) const
const std::vector< Port * > & getPortsInSameGroup (Port *port) const
bool allInportsConnected () const
bool allInportsAreReady () const
bool isSource () const
bool isSink () const
bool isReady () const
const ProcessorStatusstatus () const
virtual void doIfNotReady ()
virtual void setValid () override
virtual void invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty=nullptr) override
void addInteractionHandler (InteractionHandler *interactionHandler)
void removeInteractionHandler (InteractionHandler *interactionHandler)
bool hasInteractionHandler () const
const std::vector< InteractionHandler * > & getInteractionHandlers () const
virtual void invokeEvent (Event *event) override
virtual ProcessorgetProcessor () override
virtual const ProcessorgetProcessor () const override
virtual const PropertyOwnergetOwner () const override
virtual PropertyOwnergetOwner () override
virtual InviwoApplicationgetInviwoApplication () override
virtual void serialize (Serializer &s) const override
virtual void deserialize (Deserializer &d) override
template<typename T, typename std::enable_if_t< std::is_base_of< Inport, T >::value, int > = 0>
T & addPort (std::unique_ptr< T > port, std::string_view portGroup="default")
template<typename T, typename std::enable_if_t< std::is_base_of< Outport, T >::value, int > = 0>
T & addPort (std::unique_ptr< T > port, std::string_view portGroup="default")
template<typename T>
T & addPort (T &port, std::string_view portGroup="default")
template<typename... Ts>
void addPorts (Ts &... ports)
PortremovePort (std::string_view identifier)
InportremovePort (Inport *port)
OutportremovePort (Outport *port)
virtual void accept (NetworkVisitor &visitor)
 Accept a NetworkVisitor, the visitor will visit this and then each Property of the Processor in an undefined order. The Visitor will then visit each Properties's properties and so on.
Public Member Functions inherited from inviwo::PropertyOwner
virtual ~PropertyOwner ()
 Removes all properties and notifies its observers of the removal.
virtual void addProperty (Property *property, bool owner=true)
virtual void addProperty (Property &property)
virtual PropertyaddProperty (std::unique_ptr< Property > property)
template<typename... Ts>
void addProperties (Ts &... properties)
virtual void insertProperty (size_t index, Property *property, bool owner=true)
 insert property property at position index If index is not valid, the property is appended.
virtual void insertProperty (size_t index, Property &property)
 insert property property at position index If index is not valid, the property is appended.
virtual PropertyinsertProperty (size_t index, std::unique_ptr< Property > property)
 insert property property at position index If index is not valid, the property is appended.
virtual PropertyremoveProperty (std::string_view identifier)
virtual PropertyremoveProperty (Property *property)
virtual PropertyremoveProperty (Property &property)
virtual PropertyremoveProperty (size_t index)
 remove property referred to by index
virtual bool move (Property *property, size_t newIndex)
virtual void clear ()
 Remove all properties; Owned properties will be deleted.
const std::vector< Property * > & getProperties () const
const std::vector< CompositeProperty * > & getCompositeProperties () const
std::vector< Property * > getPropertiesRecursive () const
std::vector< Property * > & getPropertiesRecursive (std::vector< Property * > &destination) const
PropertygetPropertyByIdentifier (std::string_view identifier, bool recursiveSearch=false) const
PropertygetPropertyByPath (std::string_view path) const
template<class T>
std::vector< T * > getPropertiesByType (bool recursiveSearch=false) const
bool empty () const
size_t size () const
Propertyoperator[] (size_t)
const Propertyoperator[] (size_t) const
const_iterator find (Property *property) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
const_iterator cbegin () const
const_iterator cend () const
virtual bool isValid () const
InvalidationLevel getInvalidationLevel () const
virtual void setAllPropertiesCurrentStateAsDefault ()
virtual void resetAllProperties ()
Public Member Functions inherited from inviwo::PropertyOwnerObservable
void notifyObserversWillAddProperty (PropertyOwner *owner, Property *property, size_t index)
void notifyObserversDidAddProperty (Property *property, size_t index)
void notifyObserversWillRemoveProperty (Property *property, size_t index)
void notifyObserversDidRemoveProperty (PropertyOwner *owner, Property *property, size_t index)
Public Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
Observable< PropertyOwnerObserver > & operator= (const Observable< PropertyOwnerObserver > &other)
void addObserver (PropertyOwnerObserver *observer)
void removeObserver (PropertyOwnerObserver *observer)
virtual void startBlockingNotifications () override final
virtual void stopBlockingNotifications () override final
Public Member Functions inherited from inviwo::MetaDataOwner
 MetaDataOwner (const MetaDataOwner &rhs)=default
 MetaDataOwner (MetaDataOwner &rhs)=default
MetaDataOwneroperator= (const MetaDataOwner &rhs)=default
MetaDataOwneroperator= (MetaDataOwner &)=default
void copyMetaDataFrom (const MetaDataOwner &src)
void copyMetaDataTo (MetaDataOwner &dst)
template<typename T>
requires std::derived_from<T, MetaData>
T * createMetaData (std::string_view key)
template<typename T, typename U>
requires std::derived_from<T, MetaData> && Settable<T, U>
void setMetaData (std::string_view key, U value)
template<typename T>
requires std::derived_from<T, MetaData>
bool unsetMetaData (std::string_view key)
 unset, i.e. remove the metadata entry matching the given key and type
template<typename T, typename U>
requires std::derived_from<T, MetaData> && Gettable<T, U>
getMetaData (std::string_view key, U val) const
template<typename T>
requires std::derived_from<T, MetaData>
T * getMetaData (std::string_view key)
template<typename T>
requires std::derived_from<T, MetaData>
const T * getMetaData (std::string_view key) const
MetaDataMapgetMetaDataMap ()
const MetaDataMapgetMetaDataMap () const
bool hasMetaData (std::string_view key) const
template<typename T>
requires std::derived_from<T, MetaData>
bool hasMetaData (std::string_view key) const
void serialize (Serializer &s) const
void deserialize (Deserializer &d)
Public Member Functions inherited from inviwo::Observable< ProcessorObserver >
Observable< ProcessorObserver > & operator= (const Observable< ProcessorObserver > &other)
void addObserver (ProcessorObserver *observer)
void removeObserver (ProcessorObserver *observer)
virtual void startBlockingNotifications () override final
virtual void stopBlockingNotifications () override final

Static Public Attributes

static const ProcessorInfo processorInfo_

Protected Member Functions

virtual void process () override
void updateViewports (ivec2 size, bool force=false)
void onStatusChange (bool propagate=true)
Protected Member Functions inherited from inviwo::Processor
void addPortToGroup (Port *port, std::string_view portGroup)
void removePortFromGroups (Port *port)
void setInportsChanged (bool changed)
Protected Member Functions inherited from inviwo::PropertyOwner
 PropertyOwner (const PropertyOwner &rhs)
PropertyOwneroperator= (const PropertyOwner &that)=delete
void forEachProperty (std::function< void(Property &)> callback, bool recursiveSearch=false) const
Protected Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
void forEachObserver (C callback)
Protected Member Functions inherited from inviwo::ObservableInterface
virtual void addObserver (Observer *observer)=0
virtual void removeObserver (Observer *observer)=0
void addObservationHelper (Observer *observer)
void removeObservationHelper (Observer *observer)
Protected Member Functions inherited from inviwo::ProcessorObservable
void notifyObserversAboutPropertyChange (Property *p)
void notifyObserversInvalidationBegin (Processor *p)
void notifyObserversInvalidationEnd (Processor *p)
void notifyObserversProcessorPortAdded (Processor *p, Port *port)
void notifyObserversProcessorPortRemoved (Processor *p, Port *port)
void notifyObserversAboutToProcess (Processor *p)
void notifyObserversFinishedProcess (Processor *p)
void notifyObserversSourceChange (Processor *p)
void notifyObserversSinkChange (Processor *p)
void notifyObserversReadyChange (Processor *p)
void notifyObserversActiveConnectionsChange (Processor *p)
void notifyObserversStartBackgroundWork (Processor *p, size_t jobs=1)
void notifyObserversFinishBackgroundWork (Processor *p, size_t jobs=1)
Protected Member Functions inherited from inviwo::Observable< ProcessorObserver >
void forEachObserver (C callback)

Additional Inherited Members

Static Protected Member Functions inherited from inviwo::Processor
static std::function< ProcessorStatus()> getDefaultIsReadyUpdater (Processor *)
Protected Attributes inherited from inviwo::Processor
std::unique_ptr< ProcessorWidgetprocessorWidget_
StateCoordinator< ProcessorStatusisReady_
StateCoordinator< bool > isSink_
StateCoordinator< bool > isSource_
Protected Attributes inherited from inviwo::PropertyOwner
std::vector< Property * > properties_
std::vector< EventProperty * > eventProperties_
std::vector< CompositeProperty * > compositeProperties_
std::vector< std::unique_ptr< Property > > ownedProperties_
Protected Attributes inherited from inviwo::MetaDataOwner
MetaDataMap metaData_
Protected Attributes inherited from inviwo::ProcessorObservable
friend ProcessorNetworkEvaluator
friend Property

Detailed Description

Provides layouting for multiple input images. The order of the input images will determine the result. A mouse click activates the respective area for handling mouse/key interactions. Available layouts include

SingleThe first input image fills the entire output.
Horizontal SplitTwo images are put on top of each other.
Vertical SplitTwo images are put next to each other side by side.
Cross SplitTwo-by-two layout of up to four images filled from left to right and top to bottom.
Three Left, One RightThe first 3 images are vertically arranged on the left, the fourth is shown on the right.
Three Right, One LeftThe first 3 images are vertically arranged on the right, the fourth is shown on the left.
Horizontal Split MultipleTwo or more images are put on top of each other.
Vertical Split MultipleTwo or more images are put next to each other side by side.

Minimum left/right/top/bottom sizes will be respected until the output size is smaller than the minimum. Maximum left/right/top/bottom sizes will be respected until there is a conflict, for example max left and right set to 500 but output size is larger than 500+500, at which point left/bottom will have precedence.

Inports

Outports

  • outport Resulting layout of input images

Properties

  • Layout Applied layout Single, Horizontal Split, Cross Split, Three Left, One Right, Three Right, One Left, Horizontal Split Multiple or Vertical Split Multiple
  • Split Position Position of the layout splitter.
    • Left/Right/Top/Bottom min/max Minimum and maximum size in pixels of the corresponding side.

Member Function Documentation

◆ getProcessorInfo()

virtual const ProcessorInfo & inviwo::ImageLayoutGL::getProcessorInfo ( ) const
overridevirtual

Implements inviwo::Processor.

◆ isConnectionActive()

virtual bool inviwo::ImageLayoutGL::isConnectionActive ( Inport * inport,
Outport * outport ) const
overridevirtual

Return true if dimensions of connected port is greater than zero.

Parameters
inportThis processor's inport
outportAnother processor's outport

Reimplemented from inviwo::Processor.

◆ process()

virtual void inviwo::ImageLayoutGL::process ( )
overrideprotectedvirtual

Deriving classes should override this function to do the main work of the processor. This function is called by the ProcessorNetworkEvaluator when the network is evaluated and the processor is invalid, i.e. some of its inports or properties has been modified, and is ready i.e. all non optional inports have valid data.

See also
ProcessorNetworkEvaluator
Inport
Property

Reimplemented from inviwo::Processor.

◆ propagateEvent()

virtual void inviwo::ImageLayoutGL::propagateEvent ( Event * ,
Outport * source )
overridevirtual

Reimplemented from inviwo::Processor.


The documentation for this class was generated from the following file:
  • imagelayoutgl.h