iRoCS Toolbox  1.1.0
Public Types | Public Slots | Signals | Public Member Functions | Static Public Attributes | Protected Slots | Protected Attributes | Friends
SplineCurveChannelSpecs Class Reference

#include <SplineCurveChannelSpecs.hh>

Inheritance diagram for SplineCurveChannelSpecs:
Collaboration diagram for SplineCurveChannelSpecs:

Public Types

enum  ChannelType {
  Data = 0x0001, Visualization = 0x0002, RGB = 0x0004, Annotation = 0x0008,
  SplineCurve = 0x0010, IRoCS = 0x0020, IRoCSSCT = 0x0040
}
 

Public Slots

void chooseColor ()
 
virtual void revalidate ()
 Reset the channel shape, element size, transformation and bounding box from the underlying data. More...
 
void setAlpha (float alpha)
 
void setColor (blitz::TinyVector< float, 3 > const &color)
 
void setHasNewData (bool hasNewData)
 
void setIcon (QIcon const &icon)
 
void setName (std::string const &name)
 
virtual void setTransformation (blitz::TinyMatrix< double, 4, 4 > const &transformation)
 
void setUpdatesEnabled (bool enable)
 Enables/Disables cache updates for this channel. More...
 
void setVisible (bool visible)
 
void update ()
 Explicitely trigger a cache update for all associated renderers. More...
 
void updateChannelColor ()
 

Signals

void boundingBoxChanged (blitz::TinyVector< double, 3 > const &lowerBoundUm, blitz::TinyVector< double, 3 > const &upperBoundUm)
 
void iconChanged ()
 
void nameChanged ()
 
void transformationChanged ()
 
void viewChanged ()
 This signal is emitted whenever the contents or visualization of the channel are altered and an update of the views is required to reflect these changes. More...
 

Public Member Functions

 SplineCurveChannelSpecs (atb::BSpline< blitz::TinyVector< double, 3 > > *spline, MultiChannelModel *model=NULL)
 
 ~SplineCurveChannelSpecs ()
 
ChannelSpecsRendereraddRenderer (ViewWidget *view)
 
float alpha () const
 
QWidget * channelControlWidget () const
 
ChannelSpecs::ChannelType channelType () const
 
blitz::TinyVector< float, 3 > color () const
 
blitz::TinyVector< double, 3 > const & elementSizeUm () const
 
bool hasNewData () const
 
QIcon icon () const
 
void load (const std::string &fileName, const std::string &group, bool throwErrors=false)
 
blitz::TinyVector< double, 3 > const & lowerBoundUm () const
 
MultiChannelModelmodel () const
 
std::string name () const
 
void removeRenderer (ViewWidget *view)
 
ChannelSpecsRendererrenderer (ViewWidget *view) const
 
std::map< ViewWidget *, ChannelSpecsRenderer * > const & renderers () const
 
std::map< ViewWidget *, ChannelSpecsRenderer * > & renderers ()
 
void save (const std::string &fileName, const std::string &group, bool throwErrors=false)
 
void setModel (MultiChannelModel *model)
 
atb::BSpline< blitz::TinyVector< double, 3 > > const * spline () const
 
std::string stringValueAt (blitz::TinyVector< double, 3 > const &positionUm) const
 
virtual blitz::TinyMatrix< double, 4, 4 > const & transformation () const
 
bool updatesEnabled () const
 Check whether cache updates for this channel are enabled. More...
 
blitz::TinyVector< double, 3 > const & upperBoundUm () const
 
float valueAt (blitz::TinyVector< double, 3 > const &positionUm) const
 
bool visible () const
 

Static Public Attributes

static ChannelTypes const Any
 

Protected Slots

void emitUpdateRequest ()
 This function sets the hasNewData flag for this channel to true, to inform the renderers that this channel has new data and possibly cached values are invalid. More...
 

Protected Attributes

blitz::TinyVector< double, 3 > _elementSizeUm
 
bool _hasNewData
 
blitz::TinyVector< double, 3 > _lowerBoundUm
 
bool _oldVisibilityState
 
blitz::TinyMatrix< double, 4, 4 > _originalTransformation
 
std::map< ViewWidget *, ChannelSpecsRenderer * > _renderers
 
blitz::TinyMatrix< double, 4, 4 > _transformation
 
blitz::TinyVector< double, 3 > _upperBoundUm
 
QFormLayout * p_advancedControlLayout
 
QWidget * p_advancedControlWidget
 
DoubleControlElementp_alphaControl
 
QFormLayout * p_channelControlLayout
 
QWidget * p_channelControlWidget
 
MultiChannelModelp_model
 
QToolButton * p_toggleAdvancedButton
 
Double4x4ControlElementp_transformationControl
 
BoolControlElementp_visibleControl
 

Friends

class SplineCurveChannelSpecsOrthoViewRenderer
 

Detailed Description

Definition at line 40 of file SplineCurveChannelSpecs.hh.

Member Enumeration Documentation

◆ ChannelType

enum ChannelSpecs::ChannelType
inherited
Enumerator
Data 
Visualization 
RGB 
Annotation 
SplineCurve 
IRoCS 
IRoCSSCT 

Definition at line 60 of file ChannelSpecs.hh.

Constructor & Destructor Documentation

◆ SplineCurveChannelSpecs()

SplineCurveChannelSpecs::SplineCurveChannelSpecs ( atb::BSpline< blitz::TinyVector< double, 3 > > *  spline,
MultiChannelModel model = NULL 
)

◆ ~SplineCurveChannelSpecs()

SplineCurveChannelSpecs::~SplineCurveChannelSpecs ( )

Member Function Documentation

◆ channelType()

ChannelSpecs::ChannelType SplineCurveChannelSpecs::channelType ( ) const
virtual

Implements ChannelSpecs.

◆ color()

blitz::TinyVector<float,3> SplineCurveChannelSpecs::color ( ) const

◆ valueAt()

float SplineCurveChannelSpecs::valueAt ( blitz::TinyVector< double, 3 > const &  positionUm) const
virtual

Implements ChannelSpecs.

◆ stringValueAt()

std::string SplineCurveChannelSpecs::stringValueAt ( blitz::TinyVector< double, 3 > const &  positionUm) const
virtual

Implements ChannelSpecs.

◆ addRenderer()

ChannelSpecsRenderer* SplineCurveChannelSpecs::addRenderer ( ViewWidget view)
virtual

Implements ChannelSpecs.

◆ lowerBoundUm()

blitz::TinyVector<double,3> const& SplineCurveChannelSpecs::lowerBoundUm ( ) const
virtual

Reimplemented from ChannelSpecs.

◆ upperBoundUm()

blitz::TinyVector<double,3> const& SplineCurveChannelSpecs::upperBoundUm ( ) const
virtual

Reimplemented from ChannelSpecs.

◆ elementSizeUm()

blitz::TinyVector<double,3> const& SplineCurveChannelSpecs::elementSizeUm ( ) const
virtual

Reimplemented from ChannelSpecs.

◆ load()

void SplineCurveChannelSpecs::load ( const std::string &  fileName,
const std::string &  group,
bool  throwErrors = false 
)

◆ save()

void SplineCurveChannelSpecs::save ( const std::string &  fileName,
const std::string &  group,
bool  throwErrors = false 
)

◆ spline()

atb::BSpline< blitz::TinyVector<double,3> > const* SplineCurveChannelSpecs::spline ( ) const

◆ setColor

void SplineCurveChannelSpecs::setColor ( blitz::TinyVector< float, 3 > const &  color)
slot

◆ updateChannelColor

void SplineCurveChannelSpecs::updateChannelColor ( )
slot

◆ chooseColor

void SplineCurveChannelSpecs::chooseColor ( )
slot

◆ setModel()

void ChannelSpecs::setModel ( MultiChannelModel model)
inherited

◆ model()

MultiChannelModel* ChannelSpecs::model ( ) const
inherited

◆ name()

std::string ChannelSpecs::name ( ) const
inherited

◆ icon()

QIcon ChannelSpecs::icon ( ) const
inherited

◆ alpha()

float ChannelSpecs::alpha ( ) const
inherited

◆ visible()

bool ChannelSpecs::visible ( ) const
inherited

◆ hasNewData()

bool ChannelSpecs::hasNewData ( ) const
inherited

◆ transformation()

virtual blitz::TinyMatrix<double,4,4> const& ChannelSpecs::transformation ( ) const
virtualinherited

◆ channelControlWidget()

QWidget* ChannelSpecs::channelControlWidget ( ) const
inherited

◆ removeRenderer()

void ChannelSpecs::removeRenderer ( ViewWidget view)
inherited

◆ renderer()

ChannelSpecsRenderer* ChannelSpecs::renderer ( ViewWidget view) const
inherited

◆ renderers() [1/2]

std::map<ViewWidget*,ChannelSpecsRenderer*> const& ChannelSpecs::renderers ( ) const
inherited

◆ renderers() [2/2]

std::map<ViewWidget*,ChannelSpecsRenderer*>& ChannelSpecs::renderers ( )
inherited

◆ updatesEnabled()

bool ChannelSpecs::updatesEnabled ( ) const
inherited

Check whether cache updates for this channel are enabled.

Returns
true if cache updates are enabled, false otherwise

◆ setName

void ChannelSpecs::setName ( std::string const &  name)
slotinherited

◆ setIcon

void ChannelSpecs::setIcon ( QIcon const &  icon)
slotinherited

◆ setAlpha

void ChannelSpecs::setAlpha ( float  alpha)
slotinherited

◆ setVisible

void ChannelSpecs::setVisible ( bool  visible)
slotinherited

◆ setHasNewData

void ChannelSpecs::setHasNewData ( bool  hasNewData)
slotinherited

◆ setTransformation

virtual void ChannelSpecs::setTransformation ( blitz::TinyMatrix< double, 4, 4 > const &  transformation)
virtualslotinherited

◆ setUpdatesEnabled

void ChannelSpecs::setUpdatesEnabled ( bool  enable)
slotinherited

Enables/Disables cache updates for this channel.

If you programmatically apply many subsequent changes to a channel like automatic marker insertion or property changes, disable cache updates, otherwise each operation triggers a cache update.

Parameters
enabletrue to enable cache updates, false to disable cache updates

◆ update

void ChannelSpecs::update ( )
slotinherited

Explicitely trigger a cache update for all associated renderers.

This is only necessary if updates were disabled and after all changes the cache has to be updated. If updates are disabled a call to this function is a noop.

◆ revalidate

virtual void ChannelSpecs::revalidate ( )
virtualslotinherited

Reset the channel shape, element size, transformation and bounding box from the underlying data.

This method must be called whenever the underlying data were programmatically changed using the direct data access methods. If updates are enabled it will also do cache updates.

◆ boundingBoxChanged

void ChannelSpecs::boundingBoxChanged ( blitz::TinyVector< double, 3 > const &  lowerBoundUm,
blitz::TinyVector< double, 3 > const &  upperBoundUm 
)
signalinherited

◆ iconChanged

void ChannelSpecs::iconChanged ( )
signalinherited

◆ nameChanged

void ChannelSpecs::nameChanged ( )
signalinherited

◆ transformationChanged

void ChannelSpecs::transformationChanged ( )
signalinherited

◆ viewChanged

void ChannelSpecs::viewChanged ( )
signalinherited

This signal is emitted whenever the contents or visualization of the channel are altered and an update of the views is required to reflect these changes.

The MultiChannelModel catches this SIGNAL, calls updateCache() and redraw() for all views and clears the hasNewData flag for all channels when the redraw has finished.

◆ emitUpdateRequest

void ChannelSpecs::emitUpdateRequest ( )
protectedslotinherited

This function sets the hasNewData flag for this channel to true, to inform the renderers that this channel has new data and possibly cached values are invalid.

It also saves the current visibility state to _oldVisibilityState and emits a viewChanged() SIGNAL.

Friends And Related Function Documentation

◆ SplineCurveChannelSpecsOrthoViewRenderer

Definition at line 87 of file SplineCurveChannelSpecs.hh.

Field Documentation

◆ Any

ChannelTypes const ChannelSpecs::Any
staticinherited

Definition at line 70 of file ChannelSpecs.hh.

◆ p_model

MultiChannelModel* ChannelSpecs::p_model
protectedinherited

Definition at line 200 of file ChannelSpecs.hh.

◆ _renderers

std::map<ViewWidget*,ChannelSpecsRenderer*> ChannelSpecs::_renderers
protectedinherited

Definition at line 201 of file ChannelSpecs.hh.

◆ p_channelControlWidget

QWidget* ChannelSpecs::p_channelControlWidget
protectedinherited

Definition at line 202 of file ChannelSpecs.hh.

◆ p_channelControlLayout

QFormLayout* ChannelSpecs::p_channelControlLayout
protectedinherited

Definition at line 203 of file ChannelSpecs.hh.

◆ p_alphaControl

DoubleControlElement* ChannelSpecs::p_alphaControl
protectedinherited

Definition at line 204 of file ChannelSpecs.hh.

◆ p_visibleControl

BoolControlElement* ChannelSpecs::p_visibleControl
protectedinherited

Definition at line 205 of file ChannelSpecs.hh.

◆ p_toggleAdvancedButton

QToolButton* ChannelSpecs::p_toggleAdvancedButton
protectedinherited

Definition at line 207 of file ChannelSpecs.hh.

◆ p_advancedControlWidget

QWidget* ChannelSpecs::p_advancedControlWidget
protectedinherited

Definition at line 208 of file ChannelSpecs.hh.

◆ p_advancedControlLayout

QFormLayout* ChannelSpecs::p_advancedControlLayout
protectedinherited

Definition at line 209 of file ChannelSpecs.hh.

◆ p_transformationControl

Double4x4ControlElement* ChannelSpecs::p_transformationControl
protectedinherited

Definition at line 211 of file ChannelSpecs.hh.

◆ _oldVisibilityState

bool ChannelSpecs::_oldVisibilityState
protectedinherited

Definition at line 213 of file ChannelSpecs.hh.

◆ _hasNewData

bool ChannelSpecs::_hasNewData
protectedinherited

Definition at line 214 of file ChannelSpecs.hh.

◆ _lowerBoundUm

blitz::TinyVector<double,3> ChannelSpecs::_lowerBoundUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _upperBoundUm

blitz::TinyVector<double,3> ChannelSpecs::_upperBoundUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _elementSizeUm

blitz::TinyVector<double,3> ChannelSpecs::_elementSizeUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _originalTransformation

blitz::TinyMatrix<double,4,4> ChannelSpecs::_originalTransformation
protectedinherited

Definition at line 217 of file ChannelSpecs.hh.

◆ _transformation

blitz::TinyMatrix<double,4,4> ChannelSpecs::_transformation
protectedinherited

Definition at line 217 of file ChannelSpecs.hh.


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