#include <mitkContourSet.h>
Public Types | |
typedef ContourSet | Self |
typedef BaseData | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
typedef std::map< unsigned long, Contour::Pointer > | ContourVectorType |
typedef ContourVectorType::iterator | ContourIterator |
typedef itk::BoundingBox < unsigned long, 3, ScalarType > | BoundingBoxType |
Public Member Functions | |
virtual const char * | GetClassName () const |
void | Initialize () |
void | AddContour (unsigned int index, mitk::Contour::Pointer contour) |
void | RemoveContour (unsigned long index) |
unsigned int | GetNumberOfContours () |
ContourVectorType | GetContours () |
virtual void | UpdateOutputInformation () |
virtual void | SetRequestedRegionToLargestPossibleRegion () |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () |
virtual bool | VerifyRequestedRegion () |
virtual void | SetRequestedRegion (itk::DataObject *data) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
ContourSet () | |
virtual | ~ContourSet () |
This class holds stores vertices for drawing a contour
Definition at line 35 of file mitkContourSet.h.
typedef itk::BoundingBox<unsigned long, 3, ScalarType> mitk::ContourSet::BoundingBoxType |
Definition at line 44 of file mitkContourSet.h.
typedef itk::SmartPointer<const Self> mitk::ContourSet::ConstPointer |
Reimplemented from mitk::BaseData.
Definition at line 38 of file mitkContourSet.h.
typedef ContourVectorType::iterator mitk::ContourSet::ContourIterator |
Definition at line 43 of file mitkContourSet.h.
typedef std::map<unsigned long,Contour::Pointer> mitk::ContourSet::ContourVectorType |
Definition at line 40 of file mitkContourSet.h.
typedef itk::SmartPointer<Self> mitk::ContourSet::Pointer |
Reimplemented from mitk::BaseData.
Definition at line 38 of file mitkContourSet.h.
typedef ContourSet mitk::ContourSet::Self |
Reimplemented from mitk::BaseData.
Definition at line 38 of file mitkContourSet.h.
typedef BaseData mitk::ContourSet::Superclass |
Reimplemented from mitk::BaseData.
Definition at line 38 of file mitkContourSet.h.
mitk::ContourSet::ContourSet | ( | ) | [protected] |
Definition at line 21 of file mitkContourSet.cpp.
References mitk::BaseData::GetTimeSlicedGeometry(), and mitk::TimeSlicedGeometry::Initialize().
: m_ContourVector( ContourVectorType() ), m_NumberOfContours (0) { GetTimeSlicedGeometry()->Initialize(1); }
mitk::ContourSet::~ContourSet | ( | ) | [protected, virtual] |
Definition at line 28 of file mitkContourSet.cpp.
{ }
void mitk::ContourSet::AddContour | ( | unsigned int | index, |
mitk::Contour::Pointer | contour | ||
) |
add a contour
Definition at line 32 of file mitkContourSet.cpp.
{ m_ContourVector.insert(std::make_pair<unsigned long, mitk::Contour::Pointer>( index , contour) ); }
virtual const char* mitk::ContourSet::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::BaseData.
mitk::ContourSet::ContourVectorType mitk::ContourSet::GetContours | ( | ) |
returns the container of the contour points
Definition at line 119 of file mitkContourSet.cpp.
Referenced by mitk::ContourSetVtkMapper3D::GenerateData(), mitk::ContourSetToPointSetFilter::GenerateData(), and mitk::ContourSetMapper2D::Paint().
{
return m_ContourVector;
}
unsigned int mitk::ContourSet::GetNumberOfContours | ( | ) |
returns the number of points stored in the contour
Definition at line 114 of file mitkContourSet.cpp.
{
return m_ContourVector.size();
}
void mitk::ContourSet::Initialize | ( | void | ) |
clean up the contour data
Definition at line 107 of file mitkContourSet.cpp.
{ m_ContourVector = ContourVectorType(); GetTimeSlicedGeometry()->Initialize(1); }
static Pointer mitk::ContourSet::New | ( | ) | [static] |
Referenced by mitkDataNodeExtTestClass::TestDataSetting().
void mitk::ContourSet::RemoveContour | ( | unsigned long | index ) |
bool mitk::ContourSet::RequestedRegionIsOutsideOfTheBufferedRegion | ( | ) | [virtual] |
intherited from parent
Implements mitk::BaseData.
Definition at line 93 of file mitkContourSet.cpp.
{ return true; }
void mitk::ContourSet::SetRequestedRegion | ( | itk::DataObject * | data ) | [virtual] |
intherited from parent
Implements mitk::BaseData.
Definition at line 103 of file mitkContourSet.cpp.
{ }
void mitk::ContourSet::SetRequestedRegionToLargestPossibleRegion | ( | ) | [virtual] |
intherited from parent
Implements mitk::BaseData.
Definition at line 89 of file mitkContourSet.cpp.
{ }
void mitk::ContourSet::UpdateOutputInformation | ( | ) | [virtual] |
intherited from parent
Reimplemented from mitk::BaseData.
Definition at line 43 of file mitkContourSet.cpp.
References mitk::Geometry3D::GetCornerPoint(), inverse, mitk::Geometry3D::SetBounds(), and mitk::Geometry3D::SetIndexToWorldTransform().
{ mitk::ContourSet::ContourVectorType contourVec = GetContours(); mitk::ContourSet::ContourIterator contoursIterator = contourVec.begin(); mitk::ContourSet::ContourIterator contoursIteratorEnd = contourVec.end(); // initialize container mitk::BoundingBox::PointsContainer::Pointer pointscontainer=mitk::BoundingBox::PointsContainer::New(); mitk::BoundingBox::PointIdentifier pointid=0; mitk::Point3D point; mitk::AffineTransform3D* transform = GetTimeSlicedGeometry()->GetIndexToWorldTransform(); mitk::AffineTransform3D::Pointer inverse = mitk::AffineTransform3D::New(); transform->GetInverse(inverse); // calculate a bounding box that includes all contours // \todo probably we should do this additionally for each time-step while (contoursIterator != contoursIteratorEnd) { const Geometry3D* geometry = (*contoursIterator).second->GetUpdatedTimeSlicedGeometry(); unsigned char i; for(i=0; i<8; ++i) { point = inverse->TransformPoint(geometry->GetCornerPoint(i)); if(point[0]*point[0]+point[1]*point[1]+point[2]*point[2] < mitk::large) pointscontainer->InsertElement( pointid++, point); else { itkGenericOutputMacro( << "Unrealistically distant corner point encountered. Ignored. BoundingObject: " << (*contoursIterator).second ); } } ++contoursIterator; } mitk::BoundingBox::Pointer boundingBox = mitk::BoundingBox::New(); boundingBox->SetPoints(pointscontainer); boundingBox->ComputeBoundingBox(); Geometry3D* geometry3d = GetGeometry(0); geometry3d->SetIndexToWorldTransform(transform); geometry3d->SetBounds(boundingBox->GetBounds()); GetTimeSlicedGeometry()->InitializeEvenlyTimed(geometry3d, GetTimeSlicedGeometry()->GetTimeSteps()); }
bool mitk::ContourSet::VerifyRequestedRegion | ( | ) | [virtual] |
intherited from parent
Implements mitk::BaseData.
Definition at line 98 of file mitkContourSet.cpp.
{ return true; }