25 #ifndef WFIBERCLUSTER_H
26 #define WFIBERCLUSTER_H
32 #include <boost/shared_ptr.hpp>
33 #include <boost/thread.hpp>
35 #include "../../common/WColor.h"
36 #include "../../common/WTransferable.h"
37 #include "../WDataSetFiberVector.h"
38 #include "../WExportDataHandler.h"
92 const std::list< size_t >& getIndices()
const;
99 void setIndices(
const std::list< size_t >& indices );
124 void setColor( WColor color );
132 WColor getColor()
const;
140 virtual const std::string
getName()
const;
173 WTransferable::operator=( other );
177 m_centerLineCreationLock =
new boost::shared_mutex();
178 m_longestLineCreationLock =
new boost::shared_mutex();
182 m_centerLine = boost::shared_ptr< WFiber >(
new WFiber( *other.
m_centerLine.get() ) );
196 void setDataSetReference( boost::shared_ptr< const WDataSetFiberVector > fibs );
197 boost::shared_ptr< const WDataSetFiberVector > getDataSetReference()
const;
198 static boost::shared_ptr< WPrototyped > getPrototype();
206 boost::shared_ptr< WFiber > getCenterLine()
const;
213 boost::shared_ptr< WFiber > getLongestLine()
const;
218 void generateCenterLine()
const;
223 void generateLongestLine()
const;
238 static boost::shared_ptr< WPrototyped > m_prototype;
247 void unifyDirection( boost::shared_ptr< WDataSetFiberVector > fibs )
const;
258 void elongateCenterLine()
const;
272 boost::shared_ptr< const WDataSetFiberVector >
m_fibs;
336 return "FiberCluster";
341 return "A collection of indices for fibers representing a fiber cluster";
364 inline std::ostream& operator<<( std::ostream& os,
const WFiberCluster& c )
366 using string_utils::operator<<;
370 #endif // WFIBERCLUSTER_H