OpenWalnut  1.4.0
Public Types | Public Member Functions | Protected Attributes | Private Attributes | Friends
WSubject Class Reference

Container for all WDataSets belonging to one subject or patient. More...

#include <WSubject.h>

List of all members.

Public Types

enum  { SUBJECT_UNKNOWN = 0 }
 List of some standard subjects. More...
typedef std::vector
< boost::shared_ptr< WDataSet > > 
DatasetContainerType
 For shortening: a type defining a shared vector of WSubject pointers.
typedef
WSharedSequenceContainer
< DatasetContainerType
DatasetSharedContainerType
 The alias for a shared container.
typedef
DatasetContainerType::iterator 
DatasetIterator
 The dataset iterator.
typedef
DatasetContainerType::const_iterator 
DatasetConstIterator
 The dataset const iterator.

Public Member Functions

 WSubject ()
 Constructs a dummy subject.
 WSubject (WPersonalInformation personInfo)
 Allows one to give the subject information the person during construction.
virtual ~WSubject ()
 Destructs the subject.
std::string getName () const
 Returns the name of the subject.
WPersonalInformation getPersonalInformation () const
 Gives the personal information of a subject.
void addDataSet (boost::shared_ptr< WDataSet > dataset)
 Insert a new dataset referenced by a pointer.
void removeDataSet (boost::shared_ptr< WDataSet > dataset)
 Removes the specified dataset if it is in the set.
void clear ()
 Remove all datasets from the subjects.
DatasetSharedContainerType::ReadTicket getDatasets () const
 Returns read-access to the dataset list.
DatasetSharedContainerType::WriteTicket getDatasetsForWriting () const
 Returns write-access to the dataset list.
boost::shared_ptr< WConditiongetChangeCondition () const
 This condition fires whenever the list of datasets changes, or one dataset got marked as "dirty" (threshold, opacity, ...).
boost::shared_ptr< WConditiongetListChangeCondition () const
 This condition fires whenever the list of datasets changes.

Protected Attributes

DatasetSharedContainerType m_datasets
 A container for all WDataSet.
boost::shared_ptr< WConditionSetm_changeCondition
 This condition set fires whenever one dataset gets dirty or the list of datasets changes.
boost::shared_ptr< WConditionSetm_listChangeCondition
 This condition set fires whenever the list of datasets changes.

Private Attributes

WPersonalInformation m_personalInfo
 Information on the person represented by this WSubject.

Friends

class WSubjectTest
 Only tests are allowed as friends.

Detailed Description

Container for all WDataSets belonging to one subject or patient.

Definition at line 45 of file WSubject.h.


Member Typedef Documentation

typedef DatasetContainerType::const_iterator WSubject::DatasetConstIterator

The dataset const iterator.

Definition at line 79 of file WSubject.h.

typedef std::vector< boost::shared_ptr< WDataSet > > WSubject::DatasetContainerType

For shortening: a type defining a shared vector of WSubject pointers.

Definition at line 64 of file WSubject.h.

typedef DatasetContainerType::iterator WSubject::DatasetIterator

The dataset iterator.

Definition at line 74 of file WSubject.h.

The alias for a shared container.

Definition at line 69 of file WSubject.h.


Member Enumeration Documentation

anonymous enum

List of some standard subjects.

This is currently used for the default subject as we do not have any others.

Definition at line 56 of file WSubject.h.


Constructor & Destructor Documentation

Constructs a dummy subject.

Definition at line 36 of file WSubject.cpp.

WSubject::WSubject ( WPersonalInformation  personInfo) [explicit]

Allows one to give the subject information the person during construction.

Parameters:
personInfopersonal information object

Definition at line 44 of file WSubject.cpp.

WSubject::~WSubject ( ) [virtual]

Destructs the subject.

Removes all datasets from the list.

Definition at line 52 of file WSubject.cpp.

References clear().


Member Function Documentation

void WSubject::addDataSet ( boost::shared_ptr< WDataSet dataset)

Insert a new dataset referenced by a pointer.

Parameters:
dataseta pointer to the dataset that will be added

Definition at line 67 of file WSubject.cpp.

References m_changeCondition, m_datasets, m_listChangeCondition, and WSharedSequenceContainer< S >::push_back().

Referenced by WSubjectTest::testAddGetDataSet(), and WSubjectTest::testGetNumberOfDataSet().

void WSubject::clear ( )

Remove all datasets from the subjects.

Definition at line 90 of file WSubject.cpp.

References WSharedObject< T >::getWriteTicket(), m_datasets, and m_listChangeCondition.

Referenced by ~WSubject().

boost::shared_ptr< WCondition > WSubject::getChangeCondition ( ) const

This condition fires whenever the list of datasets changes, or one dataset got marked as "dirty" (threshold, opacity, ...).

Returns:
the condition

Definition at line 111 of file WSubject.cpp.

References m_changeCondition.

Returns read-access to the dataset list.

As long as the returned ticket exists, the list of datasets can't be changed by others.

Returns:
the read ticket.

Definition at line 101 of file WSubject.cpp.

References WSharedObject< T >::getReadTicket(), and m_datasets.

Referenced by WSubjectTest::testAddGetDataSet().

Returns write-access to the dataset list.

As long as the returned ticket exists, the list of datasets can't be changed by others.

Returns:
the write ticket.

Definition at line 106 of file WSubject.cpp.

References WSharedObject< T >::getWriteTicket(), and m_datasets.

boost::shared_ptr< WCondition > WSubject::getListChangeCondition ( ) const

This condition fires whenever the list of datasets changes.

Returns:
the condition

Definition at line 116 of file WSubject.cpp.

References m_listChangeCondition.

std::string WSubject::getName ( ) const

Returns the name of the subject.

See WPersonalInformation for details on the name.

Returns:
the name of the subject extracted from this subject's WPersonalInformation.

Definition at line 57 of file WSubject.cpp.

References WPersonalInformation::getCompleteName(), and m_personalInfo.

Referenced by WSubjectTest::testGetName().

Gives the personal information of a subject.

Returns:
the personal information of the subject.

Definition at line 62 of file WSubject.cpp.

References m_personalInfo.

void WSubject::removeDataSet ( boost::shared_ptr< WDataSet dataset)

Removes the specified dataset if it is in the set.

Parameters:
datasetthe dataset to remove.

Definition at line 75 of file WSubject.cpp.

References WSharedObject< T >::getWriteTicket(), m_changeCondition, m_datasets, and m_listChangeCondition.


Friends And Related Function Documentation

friend class WSubjectTest [friend]

Only tests are allowed as friends.

Definition at line 50 of file WSubject.h.


Member Data Documentation

boost::shared_ptr< WConditionSet > WSubject::m_changeCondition [protected]

This condition set fires whenever one dataset gets dirty or the list of datasets changes.

Definition at line 168 of file WSubject.h.

Referenced by addDataSet(), getChangeCondition(), and removeDataSet().

boost::shared_ptr< WConditionSet > WSubject::m_listChangeCondition [protected]

This condition set fires whenever the list of datasets changes.

Definition at line 173 of file WSubject.h.

Referenced by addDataSet(), clear(), getListChangeCondition(), and removeDataSet().

Information on the person represented by this WSubject.

Definition at line 176 of file WSubject.h.

Referenced by getName(), getPersonalInformation(), and WSubjectTest::TestConstructorWithInfo().


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