diff --git a/doc/user/walnut.cfg.mpi b/doc/user/walnut.cfg.mpi index d1c8c5631fa51f5b6611ac18c18b35b29a7cd6f3..686750c2bcf0c9b965d58056ddc9a7641a9070b7 100644 --- a/doc/user/walnut.cfg.mpi +++ b/doc/user/walnut.cfg.mpi @@ -12,7 +12,7 @@ allowOnlyOneFiberDataSet = yes # This will prevent you from accidently loading m # default=HUD ## A list of modules that will be provided through the GUI. ## If the list is empty all available modules are provided. -whiteList = Arbitrary Plane,Coordinate System,Image Extractor,Paint Texture,Arbitrary Rois,Bounding Box,Distance Map Isosurface,Gauss Filtering,HUD,Isosurface,Isosurface Raytracer,LIC,Mesh Reader,Voxelizer,Superquadric Glyphs,Triangle Mesh Renderer,Vector Plot,Write NIfTI +whiteList = Arbitrary Plane,Coordinate System,Image Extractor,Paint Texture,Arbitrary Rois,Bounding Box,Distance Map Isosurface,Gauss Filtering,HUD,Isosurface,Isosurface Raytracer,LIC,Read Mesh,Voxelizer,Superquadric Glyphs,Triangle Mesh Renderer,Vector Plot,Write NIfTI ## Specify a ";" separated list of additional paths for modules. The order of appearance is the order of loading. The following additional rules apply here: ## 1. if the directory contains one or more libOWmodule_XYZ it/they get loaded diff --git a/src/modules/fiberDisplay/WFiberDrawable.cpp b/src/graphicsEngine/WFiberDrawable.cpp similarity index 57% rename from src/modules/fiberDisplay/WFiberDrawable.cpp rename to src/graphicsEngine/WFiberDrawable.cpp index 8275d8941d6bec8dc2529ee1e606514f2270766a..7795e53abb49b70347f48c2a8e6b4b30821833fc 100644 --- a/src/modules/fiberDisplay/WFiberDrawable.cpp +++ b/src/graphicsEngine/WFiberDrawable.cpp @@ -24,8 +24,8 @@ #include -#include "../../dataHandler/WDataSetFibers.h" -#include "../../kernel/WKernel.h" +#include "../kernel/WKernel.h" + #include "WFiberDrawable.h" // The constructor here does nothing. One thing that may be necessary is @@ -35,9 +35,7 @@ // time (that is, the vertices drawn change from time to time). WFiberDrawable::WFiberDrawable(): osg::Drawable(), - m_useTubes( false ), - m_globalColoring( true ), - m_customColoring( false ) + m_useTubes( false ) { setSupportsDisplayList( false ); // This contructor intentionally left blank. Duh. @@ -85,35 +83,17 @@ void WFiberDrawable::drawImplementation( osg::RenderInfo& renderInfo ) const //N void WFiberDrawable::drawFibers( osg::RenderInfo& renderInfo ) const //NOLINT { - boost::shared_ptr< std::vector< size_t > > startIndexes = m_dataset->getLineStartIndexes(); - boost::shared_ptr< std::vector< size_t > > pointsPerLine = m_dataset->getLineLengths(); - boost::shared_ptr< std::vector< float > > verts = m_dataset->getVertices(); - boost::shared_ptr< std::vector< float > > tangents = m_dataset->getTangents(); - - boost::shared_ptr< std::vector< float > > colors; - - if ( m_customColoring ) - { - colors = colors = m_dataset->getColorScheme( "Custom Color" )->getColor(); - } - else - { - colors = ( m_globalColoring ? m_dataset->getGlobalColors() : m_dataset->getLocalColors() ); - } - - boost::shared_ptr< std::vector< bool > > active = m_fiberSelector->getBitfield(); - osg::State& state = *renderInfo.getState(); state.disableAllVertexArrays(); - state.setVertexPointer( 3, GL_FLOAT , 0, &( *verts )[0] ); - state.setColorPointer( 3 , GL_FLOAT , 0, &( *colors )[0] ); - state.setNormalPointer( GL_FLOAT , 0, &( *tangents )[0] ); - for ( size_t i = 0; i < active->size(); ++i ) + state.setVertexPointer( 3, GL_FLOAT , 0, &( *m_verts )[0] ); + state.setColorPointer( 3 , GL_FLOAT , 0, &( *m_colors )[0] ); + //state.setNormalPointer( GL_FLOAT , 0, &( *m_tangents )[0] ); + for ( size_t i = 0; i < m_active->size(); ++i ) { - if ( (*active)[i] ) + if ( (*m_active)[i] ) { - state.glDrawArraysInstanced( GL_LINE_STRIP, (*startIndexes)[i], (*pointsPerLine)[i], 1); + state.glDrawArraysInstanced( GL_LINE_STRIP, (*m_startIndexes)[i], (*m_pointsPerLine)[i], 1); } } @@ -123,38 +103,20 @@ void WFiberDrawable::drawFibers( osg::RenderInfo& renderInfo ) const //NOLINT void WFiberDrawable::drawTubes() const { - boost::shared_ptr< std::vector< size_t > > startIndexes = m_dataset->getLineStartIndexes(); - boost::shared_ptr< std::vector< size_t > > pointsPerLine = m_dataset->getLineLengths(); - boost::shared_ptr< std::vector< float > > verts = m_dataset->getVertices(); - boost::shared_ptr< std::vector< float > > tangents = m_dataset->getTangents(); - - boost::shared_ptr< std::vector< float > > colors; - - if ( m_customColoring ) - { - colors = m_dataset->getColorScheme( "Custom Color" )->getColor(); - } - else + for( size_t i = 0; i < m_active->size(); ++i ) { - colors = ( m_globalColoring ? m_dataset->getGlobalColors() : m_dataset->getLocalColors() ); - } - - boost::shared_ptr< std::vector< bool > > active = m_fiberSelector->getBitfield(); - - for( size_t i = 0; i < active->size(); ++i ) - { - if ( active->at( i ) ) + if ( (*m_active)[i] ) { glBegin( GL_QUAD_STRIP ); - int idx = startIndexes->at( i ) * 3; - for ( size_t k = 0; k < pointsPerLine->at( i ); ++k ) + int idx = m_startIndexes->at( i ) * 3; + for ( size_t k = 0; k < m_pointsPerLine->at( i ); ++k ) { - glNormal3f( tangents->at( idx ), tangents->at( idx + 1 ), tangents->at( idx + 2 ) ); - glColor3f( colors->at( idx ), colors->at( idx + 1 ), colors->at( idx + 2 ) ); + glNormal3f( m_tangents->at( idx ), m_tangents->at( idx + 1 ), m_tangents->at( idx + 2 ) ); + glColor3f( m_colors->at( idx ), m_colors->at( idx + 1 ), m_colors->at( idx + 2 ) ); glTexCoord1f( -1.0f ); - glVertex3f( verts->at( idx ), verts->at( idx + 1 ), verts->at( idx + 2 ) ); + glVertex3f( m_verts->at( idx ), m_verts->at( idx + 1 ), m_verts->at( idx + 2 ) ); glTexCoord1f( 1.0f ); - glVertex3f( verts->at( idx ), verts->at( idx + 1 ), verts->at( idx + 2 ) ); + glVertex3f( m_verts->at( idx ), m_verts->at( idx + 1 ), m_verts->at( idx + 2 ) ); idx += 3; // } @@ -162,3 +124,8 @@ void WFiberDrawable::drawTubes() const } } } + +void WFiberDrawable::setDataset( boost::shared_ptr< const WDataSetFibers > dataset ) +{ + m_dataset = dataset; +} diff --git a/src/modules/fiberDisplay/WFiberDrawable.h b/src/graphicsEngine/WFiberDrawable.h similarity index 73% rename from src/modules/fiberDisplay/WFiberDrawable.h rename to src/graphicsEngine/WFiberDrawable.h index 191fed213939d2a332a51ffc2506c6dfe3781955..83e78c59b714a07a2958ad6eb5de1ff08cd88d05 100644 --- a/src/modules/fiberDisplay/WFiberDrawable.h +++ b/src/graphicsEngine/WFiberDrawable.h @@ -35,12 +35,8 @@ #include #include -#include "WFiberSelector.h" - - -class WDataSetFibers; /** - * TODO(schurade): Document this! + * Class implements an osg::Drawable that paints fiber representations either using lines or tubes */ class WFiberDrawable: public osg::Drawable { @@ -108,49 +104,46 @@ public: void setUseTubes( bool flag ); /** - * Set the coloring modes of the fibers. - * - * \param globalColoring If true is given global coloring is applied ( default ), else local coloring + * Set the bounding box of all fibers. + * \param bb The new bounding box. */ - void setColoringMode( bool globalColoring ); + void setBoundingBox( const osg::BoundingBox & bb ); /** - * Set the use of custom colors - * - * \param custom + * setter + * \param bitField selected fibers to draw */ - void setCustomColoring( bool custom ); + void setBitfield( boost::shared_ptr< std::vector< bool > > bitField ); /** - * In which mode coloring for the fibers is applied. - * - * \return True for global, false for local coloring + * setter + * \param idx */ - bool getColoringMode() const; + void setStartIndexes( boost::shared_ptr< std::vector< size_t > > idx ); /** - * Set the bounding box of all fibers. - * \param bb The new bounding box. + * setter + * \param ppl */ - void setBoundingBox( const osg::BoundingBox & bb ); + void setPointsPerLine( boost::shared_ptr< std::vector< size_t > > ppl ); /** * setter - * \param bitField selected fibers to draw + * \param verts */ - void setBitfield( boost::shared_ptr< std::vector< bool > > bitField ); + void setVerts( boost::shared_ptr< std::vector< float > > verts ); /** * setter - * \param selector the selector object which provides the bitfield for fiber selection + * \param tangents */ - void setSelector( boost::shared_ptr< WFiberSelector > selector ); + void setTangents( boost::shared_ptr< std::vector< float > > tangents ); /** * setter - * \param colors + * \param color */ - void setCustomColors( boost::shared_ptr< std::vector< float > > colors ); + void setColor( boost::shared_ptr< std::vector< float > > color ); protected: private: @@ -172,54 +165,53 @@ private: bool m_useTubes; //!< flag - bool m_globalColoring; //!< True indicates global, false local coloring - - bool m_customColoring; //!< True indicates use of custom colors - - boost::shared_ptr< std::vector< bool > > m_active; //!< pointer to the bitfield of active fibers - boost::shared_ptr< WFiberSelector > m_fiberSelector; //!< the selector object which provides the bitfield for fiber selection + boost::shared_ptr< std::vector< size_t > > m_startIndexes; //!< pointer to the field of line start indexes + boost::shared_ptr< std::vector< size_t > > m_pointsPerLine; //!< pointer to the field of points per line + boost::shared_ptr< std::vector< float > > m_verts; //!< pointer to the field of vertexes + boost::shared_ptr< std::vector< float > > m_tangents; //!< pointer to the field of line tangents + boost::shared_ptr< std::vector< float > > m_colors; //!< pointer to the field of colors per vertex }; -inline void WFiberDrawable::setDataset( boost::shared_ptr< const WDataSetFibers > dataset ) +inline void WFiberDrawable::setUseTubes( bool flag ) { - m_dataset = dataset; + m_useTubes = flag; } -inline void WFiberDrawable::setUseTubes( bool flag ) +inline void WFiberDrawable::setBoundingBox( const osg::BoundingBox & bb ) { - m_useTubes = flag; + setBound( bb ); } -inline void WFiberDrawable::setColoringMode( bool globalColoring ) +inline void WFiberDrawable::setBitfield( boost::shared_ptr< std::vector< bool > > bitField ) { - m_globalColoring = globalColoring; + m_active = bitField; } -inline bool WFiberDrawable::getColoringMode() const +inline void WFiberDrawable::setStartIndexes( boost::shared_ptr< std::vector< size_t > > idx ) { - return m_globalColoring; + m_startIndexes = idx; } -inline void WFiberDrawable::setCustomColoring( bool custom ) +inline void WFiberDrawable::setPointsPerLine( boost::shared_ptr< std::vector< size_t > > ppl ) { - m_customColoring = custom; + m_pointsPerLine = ppl; } -inline void WFiberDrawable::setBoundingBox( const osg::BoundingBox & bb ) +inline void WFiberDrawable::setVerts( boost::shared_ptr< std::vector< float > > verts ) { - setBound( bb ); + m_verts = verts; } -inline void WFiberDrawable::setBitfield( boost::shared_ptr< std::vector< bool > > bitField ) +inline void WFiberDrawable::setTangents( boost::shared_ptr< std::vector< float > > tangents ) { - m_active = bitField; + m_tangents = tangents; } -inline void WFiberDrawable::setSelector( boost::shared_ptr< WFiberSelector > selector ) +inline void WFiberDrawable::setColor( boost::shared_ptr< std::vector< float > > color ) { - m_fiberSelector = selector; + m_colors = color; } #endif // WFIBERDRAWABLE_H diff --git a/src/modules/fiberDisplay/WFiberSelector.cpp b/src/kernel/WFiberSelector.cpp similarity index 88% rename from src/modules/fiberDisplay/WFiberSelector.cpp rename to src/kernel/WFiberSelector.cpp index 35f6e8ac92b188f3d8f2ecc693cb90ffec1a7170..32120005a8ffbe33aaa0bacaedcfb79226d4ae6f 100644 --- a/src/modules/fiberDisplay/WFiberSelector.cpp +++ b/src/kernel/WFiberSelector.cpp @@ -24,7 +24,7 @@ #include -#include "../../kernel/WKernel.h" +#include "../kernel/WKernel.h" #include "WFiberSelector.h" @@ -136,28 +136,33 @@ void WFiberSelector::recalculate() { if ( m_branches.empty() ) { - m_outputBitfield = boost::shared_ptr< std::vector< bool > >( new std::vector< bool >( m_size, true ) ); - return; + m_workerBitfield = boost::shared_ptr< std::vector< bool > >( new std::vector< bool >( m_size, true ) ); } else { m_workerBitfield = boost::shared_ptr< std::vector< bool > >( new std::vector< bool >( m_size, false ) ); - } - - for ( std::list< boost::shared_ptr< WSelectorBranch > >::iterator iter = m_branches.begin(); iter != m_branches.end(); ++iter ) - { - boost::shared_ptr< std::vector< bool > > bf = ( *iter )->getBitField(); - for ( size_t i = 0; i < m_size; ++i ) + for ( std::list< boost::shared_ptr< WSelectorBranch > >::iterator iter = m_branches.begin(); iter != m_branches.end(); ++iter ) { - ( *m_workerBitfield )[i] = ( *m_workerBitfield )[i] | ( *bf )[i]; + boost::shared_ptr< std::vector< bool > > bf = ( *iter )->getBitField(); + + for ( size_t i = 0; i < m_size; ++i ) + { + ( *m_workerBitfield )[i] = ( *m_workerBitfield )[i] | ( *bf )[i]; + } } } + + for ( size_t i = 0; i < m_size; ++i ) + { + ( *m_outputBitfield )[i] = ( *m_workerBitfield )[i]; + } m_dirty = false; - m_outputBitfield = m_workerBitfield; + //m_outputBitfield = m_workerBitfield; } void WFiberSelector::setDirty() { + recalculate(); m_dirty = true; } diff --git a/src/modules/fiberDisplay/WFiberSelector.h b/src/kernel/WFiberSelector.h similarity index 92% rename from src/modules/fiberDisplay/WFiberSelector.h rename to src/kernel/WFiberSelector.h index 47711001c145c8d4034c3180816ff4130c081324..b0150e6187804dfb04898596138e64aa36bcb067 100644 --- a/src/modules/fiberDisplay/WFiberSelector.h +++ b/src/kernel/WFiberSelector.h @@ -28,7 +28,7 @@ #include #include -#include "../../dataHandler/WDataSetFibers.h" +#include "../dataHandler/WDataSetFibers.h" #include "WSelectorRoi.h" #include "WSelectorBranch.h" @@ -102,20 +102,6 @@ protected: */ void slotRemoveBranch( boost::shared_ptr< WRMBranch > branch ); - /** - * setter - * \param colors - */ - void setCustomColors( boost::shared_ptr< std::vector< float > > colors ); - - /** - * getter - * \return colors - */ - boost::shared_ptr< std::vector< float > > getCustomColors(); - - - private: /** * update the bitfield when there was a change in the roi structure diff --git a/src/modules/fiberDisplay/WKdTree.cpp b/src/kernel/WKdTree.cpp similarity index 98% rename from src/modules/fiberDisplay/WKdTree.cpp rename to src/kernel/WKdTree.cpp index 6070be1f77ef096fc00591c63a47fb2bea5f9936..aa7bcfc7ef2d9c81d5086f5c08c53269da23627a 100644 --- a/src/modules/fiberDisplay/WKdTree.cpp +++ b/src/kernel/WKdTree.cpp @@ -25,8 +25,8 @@ #include #include -#include "../../common/WAssert.h" -#include "../../common/WLogger.h" +#include "../common/WAssert.h" +#include "../common/WLogger.h" #include "WKdTree.h" diff --git a/src/modules/fiberDisplay/WKdTree.h b/src/kernel/WKdTree.h similarity index 98% rename from src/modules/fiberDisplay/WKdTree.h rename to src/kernel/WKdTree.h index 6e2b375a0817f2643852d15b68b2d91b6b2d8e5b..b728e7d5ee655e5ffeccab542e08e8f463cb76cb 100644 --- a/src/modules/fiberDisplay/WKdTree.h +++ b/src/kernel/WKdTree.h @@ -28,7 +28,7 @@ #include #include -#include "../../common/WThreadedRunner.h" +#include "../common/WThreadedRunner.h" /** * implements the compare function for std::nth_element on a point array diff --git a/src/kernel/WRMBranch.cpp b/src/kernel/WRMBranch.cpp index 58c548997a772edb83b5423eb6588b21ad52ce0d..97daf9d0bc9de0d2c524b36e4ffbbdd1291c82b4 100644 --- a/src/kernel/WRMBranch.cpp +++ b/src/kernel/WRMBranch.cpp @@ -61,6 +61,9 @@ void WRMBranch::propertyChanged() void WRMBranch::addRoi( osg::ref_ptr< WROI > roi ) { m_rois.push_back( roi ); + boost::function< void() > changeRoiSignal = boost::bind( &WRMBranch::setDirty, this ); + roi->addChangeNotifier( changeRoiSignal ); + setDirty(); } diff --git a/src/modules/fiberDisplay/WSelectorBranch.cpp b/src/kernel/WSelectorBranch.cpp similarity index 100% rename from src/modules/fiberDisplay/WSelectorBranch.cpp rename to src/kernel/WSelectorBranch.cpp diff --git a/src/modules/fiberDisplay/WSelectorBranch.h b/src/kernel/WSelectorBranch.h similarity index 99% rename from src/modules/fiberDisplay/WSelectorBranch.h rename to src/kernel/WSelectorBranch.h index 0c4ca7e878e06013ad83b406d00bdb847d8b5628..55deeb2af7ab308eea80c992c6a7dff1d6579190 100644 --- a/src/modules/fiberDisplay/WSelectorBranch.h +++ b/src/kernel/WSelectorBranch.h @@ -29,7 +29,7 @@ #include #include "WSelectorRoi.h" -#include "../../kernel/WRMBranch.h" +#include "../kernel/WRMBranch.h" /** * TODO(schurade): Document this! diff --git a/src/modules/fiberDisplay/WSelectorRoi.cpp b/src/kernel/WSelectorRoi.cpp similarity index 98% rename from src/modules/fiberDisplay/WSelectorRoi.cpp rename to src/kernel/WSelectorRoi.cpp index 4e4267f41f1e124fa6f35f960400b7250d6f570f..f93fe86c9f03b2a39ae27db3d29fcfbfab405dc1 100644 --- a/src/modules/fiberDisplay/WSelectorRoi.cpp +++ b/src/kernel/WSelectorRoi.cpp @@ -23,8 +23,8 @@ //--------------------------------------------------------------------------- //#include "../../../graphicsEngine/WGraphicsEngine.h" -#include "../../graphicsEngine/WROIBox.h" -#include "../../graphicsEngine/WROIArbitrary.h" +#include "../graphicsEngine/WROIBox.h" +#include "../graphicsEngine/WROIArbitrary.h" #include "WSelectorRoi.h" diff --git a/src/modules/fiberDisplay/WSelectorRoi.h b/src/kernel/WSelectorRoi.h similarity index 97% rename from src/modules/fiberDisplay/WSelectorRoi.h rename to src/kernel/WSelectorRoi.h index 17dd6cbc7e84c0aeac94ec6a3ed34adbc353995a..b5ba5df771c8e0bc5fdaaeafa6b17d4b942ba456 100644 --- a/src/modules/fiberDisplay/WSelectorRoi.h +++ b/src/kernel/WSelectorRoi.h @@ -27,9 +27,9 @@ #include -#include "../../dataHandler/WDataSetFibers.h" +#include "../dataHandler/WDataSetFibers.h" -#include "../../graphicsEngine/WROI.h" +#include "../graphicsEngine/WROI.h" #include "WKdTree.h" /** diff --git a/src/modules/clusterDisplay/WDendrogram.cpp b/src/modules/clusterDisplay/WDendrogramGeode.cpp similarity index 93% rename from src/modules/clusterDisplay/WDendrogram.cpp rename to src/modules/clusterDisplay/WDendrogramGeode.cpp index a9634e1cf519dd3a4ac6f1f26bb6fcad6ccdc71c..d4a6bf77599d18f4e06584113573e5056e7a864a 100644 --- a/src/modules/clusterDisplay/WDendrogram.cpp +++ b/src/modules/clusterDisplay/WDendrogramGeode.cpp @@ -25,12 +25,13 @@ #include #include "../../graphicsEngine/WGEUtils.h" -#include "WDendrogram.h" +#include "WDendrogramGeode.h" /** * Class implements a dendrogram as an osg geode */ -WDendrogram::WDendrogram( WHierarchicalTree* tree, size_t cluster, size_t minClusterSize, float xSize, float ySize, float xOffset, float yOffset ) : +WDendrogramGeode::WDendrogramGeode( WHierarchicalTree* tree, size_t cluster, size_t minClusterSize, + float xSize, float ySize, float xOffset, float yOffset ) : osg::Geode(), m_tree( tree ), m_rootCluster( cluster ), @@ -43,11 +44,11 @@ WDendrogram::WDendrogram( WHierarchicalTree* tree, size_t cluster, size_t minClu create(); } -WDendrogram::~WDendrogram() +WDendrogramGeode::~WDendrogramGeode() { } -void WDendrogram::create() +void WDendrogramGeode::create() { m_colors = osg::ref_ptr( new osg::Vec4Array ); @@ -80,10 +81,11 @@ void WDendrogram::create() osg::StateSet* state = geometry->getOrCreateStateSet(); state->setMode( GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::PROTECTED ); + addDrawable( geometry ); } -void WDendrogram::layout( size_t cluster, float left, float right ) +void WDendrogramGeode::layout( size_t cluster, float left, float right ) { float height = m_tree->getLevel( cluster ); @@ -159,7 +161,7 @@ void WDendrogram::layout( size_t cluster, float left, float right ) } } -size_t WDendrogram::getClickedCluster( int xClick, int yClick ) +size_t WDendrogramGeode::getClickedCluster( int xClick, int yClick ) { m_xClicked = ( xClick - m_xOff ) / m_xSize * ( m_tree->size( m_rootCluster ) - 1 ); m_yClicked = ( yClick - m_yOff ) / m_ySize * ( m_tree->getLevel( m_rootCluster ) - 1 ); @@ -171,7 +173,7 @@ size_t WDendrogram::getClickedCluster( int xClick, int yClick ) return m_clickedCluster; } -void WDendrogram::getClickClusterRecursive( size_t cluster, float left, float right ) +void WDendrogramGeode::getClickClusterRecursive( size_t cluster, float left, float right ) { int height = m_tree->getLevel( cluster ); diff --git a/src/modules/clusterDisplay/WDendrogram.h b/src/modules/clusterDisplay/WDendrogramGeode.h similarity index 93% rename from src/modules/clusterDisplay/WDendrogram.h rename to src/modules/clusterDisplay/WDendrogramGeode.h index 23080fdd5ae588fde239622756ed26d9e96c8ac1..8e7f643287a82f63240beb7b17954a75e609181c 100644 --- a/src/modules/clusterDisplay/WDendrogram.h +++ b/src/modules/clusterDisplay/WDendrogramGeode.h @@ -22,8 +22,8 @@ // //--------------------------------------------------------------------------- -#ifndef WDENDROGRAM_H -#define WDENDROGRAM_H +#ifndef WDENDROGRAMGEODE_H +#define WDENDROGRAMGEODE_H #include #include @@ -36,7 +36,7 @@ /** * Class creates a dendrogram from a hierarchical clustering */ -class WDendrogram : public osg::Geode +class WDendrogramGeode : public osg::Geode { public: /** @@ -51,13 +51,13 @@ public: * \param yOffset translation alogn the y axis * */ - WDendrogram( WHierarchicalTree* tree, size_t cluster, size_t minClusterSize = 1, float xSize = 1000.f, + WDendrogramGeode( WHierarchicalTree* tree, size_t cluster, size_t minClusterSize = 1, float xSize = 1000.f, float ySize = 500.f, float xOffset = 0.0f, float yOffset = 0.0f ); /** * destructor */ - ~WDendrogram(); + ~WDendrogramGeode(); /** * calculate which cluster was clicked from given pixel coordinates @@ -116,4 +116,4 @@ private: size_t m_clickedCluster; //!< the clicked cluster }; -#endif // WDENDROGRAM_H +#endif // WDENDROGRAMGEODE_H diff --git a/src/modules/clusterDisplay/WHierarchicalTree.cpp b/src/modules/clusterDisplay/WHierarchicalTree.cpp index 5fd800c56c5b4ade78124dfe082e6c3014e258f1..fcfa4a102224f50c138da23c7e96012b14fcdf93 100644 --- a/src/modules/clusterDisplay/WHierarchicalTree.cpp +++ b/src/modules/clusterDisplay/WHierarchicalTree.cpp @@ -87,7 +87,7 @@ void WHierarchicalTree::addCluster( size_t cluster1, size_t cluster2, size_t lev ++m_clusterCount; } -boost::shared_ptr< std::vector >WHierarchicalTree::getOutputBitfield( size_t cluster ) +boost::shared_ptr< std::vector > WHierarchicalTree::getOutputBitfield( size_t cluster ) { boost::shared_ptr< std::vector< bool > > bf; // only a single fiber selected @@ -311,7 +311,6 @@ std::vector WHierarchicalTree::getBestClustersFittingRoi( float ratio, s float WHierarchicalTree::getRatio( size_t cluster ) { - boost::shared_ptr< std::vector< bool > > roiSelection = WKernel::getRunningKernel()->getRoiManager()->getRoiBitfield(); std::vectorfibersInCluster = getLeafesForCluster( cluster ); size_t countFibersInCluster = fibersInCluster.size(); @@ -319,7 +318,7 @@ float WHierarchicalTree::getRatio( size_t cluster ) for ( size_t i = 0; i < countFibersInCluster; ++i ) { - if ( ( *roiSelection )[fibersInCluster[i]] ) + if ( ( *m_roiSelection )[fibersInCluster[i]] ) { ++fibersFromClusterActive; } diff --git a/src/modules/clusterDisplay/WHierarchicalTree.h b/src/modules/clusterDisplay/WHierarchicalTree.h index 4d2db85459b09ed90bc351f01f672806006449db..1d53b54b93d89340bba4e32ed51cb34874ceebd4 100644 --- a/src/modules/clusterDisplay/WHierarchicalTree.h +++ b/src/modules/clusterDisplay/WHierarchicalTree.h @@ -187,6 +187,12 @@ public: */ size_t size( size_t cluster ); + /** + * setter + * \param bitfield + */ + void setRoiBitField( boost::shared_ptr< std::vector > bitfield ); + protected: private: /** @@ -247,6 +253,11 @@ private: * a color value for each cluster */ std::vectorm_colors; + + /** + * stores a pointer to the bitfield by the current roi setting + */ + boost::shared_ptr< std::vector > m_roiSelection; }; inline size_t WHierarchicalTree::getLeafCount() @@ -320,5 +331,9 @@ inline WColor WHierarchicalTree::getColor( size_t cluster ) return m_colors[cluster]; } +inline void WHierarchicalTree::setRoiBitField( boost::shared_ptr< std::vector > bitfield ) +{ + m_roiSelection = bitfield; +} #endif // WHIERARCHICALTREE_H diff --git a/src/modules/clusterDisplay/WMClusterDisplay.cpp b/src/modules/clusterDisplay/WMClusterDisplay.cpp index 840333a26afccaa632ecc0266c2318e83c44dd89..2b442e672081c7c3e480355c3831556db6156104 100644 --- a/src/modules/clusterDisplay/WMClusterDisplay.cpp +++ b/src/modules/clusterDisplay/WMClusterDisplay.cpp @@ -211,6 +211,7 @@ bool WMClusterDisplay::loadTreeAscii( std::string fileName ) { return true; } + debugLog() << "something is wrong with the tree file"; return false; } @@ -416,6 +417,9 @@ void WMClusterDisplay::moduleMain() } } + m_fiberSelector = boost::shared_ptr( new WFiberSelector( m_dataSet ) ); + m_tree.setRoiBitField( m_fiberSelector->getBitfield() ); + m_propTreeFile->setHidden( true ); m_readTriggerProp->setHidden( true ); @@ -430,18 +434,17 @@ void WMClusterDisplay::moduleMain() m_propSelectedClusterOffset->setMin( 0 - m_tree.getLevel( m_propSelectedCluster->get() ) ); initWidgets(); - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_propSelectedCluster->get( true ) ) ); - WKernel::getRunningKernel()->getRoiManager()->setUseExternalBitfield( m_active->get( true ) ); + createFiberGeode(); + m_widgetDirty = true; updateWidgets(); WKernel::getRunningKernel()->getRoiManager()->getProperties()->getProperty( "dirty" )->getUpdateCondition()->subscribeSignal( boost::bind( &WMClusterDisplay::handleRoiChanged, this ) ); - m_dendrogramGeode = new WDendrogram( &m_tree, m_rootCluster, 1000, 500 ); + m_dendrogramGeode = new WDendrogramGeode( &m_tree, m_rootCluster, 1000, 500 ); m_camera->addChild( m_dendrogramGeode ); - m_propSelectedCluster->get( true ); m_propSubClusters->get( true ); m_propSubLevelsToColor->get( true ); @@ -500,7 +503,7 @@ void WMClusterDisplay::moduleMain() if ( m_active->changed() ) { - WKernel::getRunningKernel()->getRoiManager()->setUseExternalBitfield( m_active->get( true ) ); + //WKernel::getRunningKernel()->getRoiManager()->setUseExternalBitfield( m_active->get( true ) ); } } con.disconnect(); @@ -517,9 +520,10 @@ void WMClusterDisplay::handleSelectedClusterChanged() m_propSelectedClusterOffset->get( true ); m_propMinSizeToColor->setMax( m_tree.size( m_biggestClusters.back() ) ); - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_rootCluster ) ); + m_fiberDrawable->setBitfield( m_tree.getOutputBitfield( m_rootCluster ) ); + m_propSubLevelsToColor->setMax( m_tree.getLevel( m_rootCluster ) ); - //colorClusters( m_propSelectedCluster->get( true ) ); + colorClusters( m_propSelectedCluster->get( true ) ); m_dendrogramDirty = true; } @@ -567,7 +571,6 @@ void WMClusterDisplay::handleOffsetChanged() ++minusOff; } } - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_rootCluster ) ); m_propSubLevelsToColor->setMax( m_tree.getLevel( m_rootCluster ) ); m_dendrogramDirty = true; @@ -579,8 +582,6 @@ void WMClusterDisplay::handleBiggestClustersChanged() m_propMinSizeToColor->setMax( m_tree.size( m_biggestClusters.back() ) ); - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_biggestClusters ) ); - m_tree.colorCluster( m_tree.getClusterCount() - 1, WColor( 0.3, 0.3, 0.3, 1.0 ) ); setColor( m_tree.getLeafesForCluster( m_rootCluster ), WColor( 0.3, 0.3, 0.3, 1.0 ) ); @@ -594,11 +595,12 @@ void WMClusterDisplay::handleBiggestClustersChanged() m_dendrogramDirty = true; m_widgetDirty = true; m_biggestClusterButtonsChanged = true; + + m_fiberDrawable->setBitfield( m_tree.getOutputBitfield( m_biggestClusters ) ); } void WMClusterDisplay::handleColoringChanged() { - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_propSelectedCluster->get( true ) ) ); m_propSubLevelsToColor->get( true ); m_propMinSizeToColor->get( true ); colorClusters( m_propSelectedCluster->get( true ) ); @@ -612,32 +614,28 @@ void WMClusterDisplay::handleMinSizeChanged() void WMClusterDisplay::handleRoiChanged() { + WKernel::getRunningKernel()->getRunningKernel()->getRoiManager()->dirty( true ); + if ( m_active->get() ) { m_biggestClusters = m_tree.getBestClustersFittingRoi( m_propBoxClusterRatio->get( true ), m_propMaxSubClusters->get( true ) ); - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( m_biggestClusters ) ); + m_tree.colorCluster( m_tree.getClusterCount() - 1, WColor( 0.3, 0.3, 0.3, 1.0 ) ); + setColor( m_tree.getLeafesForCluster( m_rootCluster ), WColor( 0.3, 0.3, 0.3, 1.0 ) ); for ( size_t k = 0; k < m_biggestClusters.size(); ++k ) { size_t current = m_biggestClusters[k]; setColor( m_tree.getLeafesForCluster( current ), wge::getNthHSVColor( k, m_biggestClusters.size() ) ); + m_tree.colorCluster( current, wge::getNthHSVColor( k, m_biggestClusters.size() ) ); } m_widgetDirty = true; m_biggestClusterButtonsChanged = true; + m_dendrogramDirty = true; } - if ( ( m_propMaxSubClusters->get( true ) == 1 ) && ( m_biggestClusters.size() > 0 ) ) - { - m_propSelectedCluster->set( m_biggestClusters[0] ); - - m_tree.colorCluster( m_tree.getClusterCount() - 1, WColor( 0.3, 0.3, 0.3, 1.0 ) ); - setColor( m_tree.getLeafesForCluster( m_rootCluster ), WColor( 0.3, 0.3, 0.3, 1.0 ) ); - - m_tree.colorCluster( m_propSelectedCluster->get(), WColor( 1.0, 0.3, 0.3, 1.0 ) ); - setColor( m_tree.getLeafesForCluster( m_propSelectedCluster->get() ), WColor( 1.0, 0.3, 0.3, 1.0 ) ); - } + m_fiberDrawable->setBitfield( m_tree.getOutputBitfield( m_biggestClusters ) ); } void WMClusterDisplay::updateWidgets() @@ -773,12 +771,12 @@ void WMClusterDisplay::updateWidgets() { if ( m_propResizeWithWindow->get( true ) ) { - m_dendrogramGeode = new WDendrogram( &m_tree, m_tree.getClusterCount() - 1, + m_dendrogramGeode = new WDendrogramGeode( &m_tree, m_tree.getClusterCount() - 1, m_propMinSizeToColor->get(), width - 120, height / 2 , 100 ); } else { - m_dendrogramGeode = new WDendrogram( &m_tree, m_tree.getClusterCount() - 1, + m_dendrogramGeode = new WDendrogramGeode( &m_tree, m_tree.getClusterCount() - 1, m_propMinSizeToColor->get(), dwidth, dheight, dxOff, dyOff ); } m_camera->addChild( m_dendrogramGeode ); @@ -862,7 +860,8 @@ bool WMClusterDisplay::widgetClicked() } } - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( activeClusters ) ); + m_fiberDrawable->setBitfield( m_tree.getOutputBitfield( activeClusters ) ); + //WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( activeClusters ) ); } return clicked; } @@ -943,7 +942,8 @@ void WMClusterDisplay::colorClusters( size_t current ) setColor( m_tree.getLeafesForCluster( cluster ), wge::getNthHSVColor( n++, parts ) ); } - WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( finalList ) ); + m_fiberDrawable->setBitfield( m_tree.getOutputBitfield( finalList ) ); + //WKernel::getRunningKernel()->getRoiManager()->setExternalBitfield( m_tree.getOutputBitfield( finalList ) ); m_biggestClusters.clear(); m_biggestClusterButtonsChanged = true; @@ -951,9 +951,9 @@ void WMClusterDisplay::colorClusters( size_t current ) void WMClusterDisplay::setColor( std::vector clusters, WColor color ) { - boost::shared_ptr< std::vector< float > >colorField = WKernel::getRunningKernel()->getRoiManager()->getCustomColors(); - boost::shared_ptr< std::vector< size_t > > starts = WKernel::getRunningKernel()->getRoiManager()->getStarts(); - boost::shared_ptr< std::vector< size_t > > lengths = WKernel::getRunningKernel()->getRoiManager()->getLengths(); + boost::shared_ptr< std::vector< float > >colorField = m_dataSet->getColorScheme( "Custom Color" )->getColor(); + boost::shared_ptr< std::vector< size_t > > starts = m_fiberSelector->getStarts(); + boost::shared_ptr< std::vector< size_t > > lengths = m_fiberSelector->getLengths(); for ( size_t i = 0; i < clusters.size(); ++i ) { @@ -979,3 +979,31 @@ void WMClusterDisplay::dendrogramClick( WPickInfo pickInfo ) m_propSelectedCluster->set( m_dendrogramGeode->getClickedCluster( x, y ) ); } + + +void WMClusterDisplay::createFiberGeode() +{ + m_fiberDrawable = osg::ref_ptr< WFiberDrawable >( new WFiberDrawable ); + m_fiberDrawable->setBoundingBox( osg::BoundingBox( m_dataSet->getBoundingBox().first[0], + m_dataSet->getBoundingBox().first[1], + m_dataSet->getBoundingBox().first[2], + m_dataSet->getBoundingBox().second[0], + m_dataSet->getBoundingBox().second[1], + m_dataSet->getBoundingBox().second[2] ) ); + + m_fiberDrawable->setStartIndexes( m_dataSet->getLineStartIndexes() ); + m_fiberDrawable->setPointsPerLine( m_dataSet->getLineLengths() ); + m_fiberDrawable->setVerts( m_dataSet->getVertices() ); + m_fiberDrawable->setTangents( m_dataSet->getTangents() ); + m_fiberDrawable->setColor( m_dataSet->getColorScheme( "Custom Color" )->getColor() ); + m_fiberDrawable->setBitfield( m_fiberSelector->getBitfield() ); + + m_fiberDrawable->setUseDisplayList( false ); + m_fiberDrawable->setDataVariance( osg::Object::DYNAMIC ); + + osg::ref_ptr< osg::Geode > geode = osg::ref_ptr< osg::Geode >( new osg::Geode ); + geode->addDrawable( m_fiberDrawable ); + + m_rootNode->getOrCreateStateSet()->setMode( GL_LIGHTING, osg::StateAttribute::OFF ); + m_rootNode->addChild( geode ); +} diff --git a/src/modules/clusterDisplay/WMClusterDisplay.h b/src/modules/clusterDisplay/WMClusterDisplay.h index 0268e6844afc59a41953ec8200d18ed1e75dd735..e46af6993076e328578ae88b4020d2bab01bea6f 100644 --- a/src/modules/clusterDisplay/WMClusterDisplay.h +++ b/src/modules/clusterDisplay/WMClusterDisplay.h @@ -37,7 +37,9 @@ #include "../../kernel/WModuleInputData.h" #include "../../kernel/WModuleOutputData.h" -#include "WDendrogram.h" +#include "../../kernel/WFiberSelector.h" + +#include "WDendrogramGeode.h" #include "WOSGButton.h" #include "WHierarchicalTree.h" @@ -204,6 +206,11 @@ private: */ void dendrogramClick( WPickInfo pickInfo ); + /** + * helper function to initialize a fiber display node + */ + void createFiberGeode(); + /** * Input connector for a fiber dataset. */ @@ -286,6 +293,16 @@ private: */ WHierarchicalTree m_tree; + /** + * Point to a fiber selector, which is an adapater between the roi manager and the this module + */ + boost::shared_ptr< WFiberSelector>m_fiberSelector; + + /** + * stores pointer to the fiber drawer + */ + osg::ref_ptr< WFiberDrawable > m_fiberDrawable; + /** * The root node used for this modules graphics. */ @@ -305,7 +322,7 @@ private: osg::Camera* m_camera; //!< stores the camera object - WDendrogram* m_dendrogramGeode; //!< stores the dendrogram geode + WDendrogramGeode* m_dendrogramGeode; //!< stores the dendrogram geode osgWidget::WindowManager* m_wm; //!< stores a pointer to the window manager used for osg wdgets and overlay stuff diff --git a/src/modules/fiberDisplay/WMFiberDisplay.cpp b/src/modules/fiberDisplay/WMFiberDisplay.cpp index 201f345eaf13b680268f194ce821ca38c5fc0a66..63491ad23252335005b1e21ad05b4f6219cc4a8d 100644 --- a/src/modules/fiberDisplay/WMFiberDisplay.cpp +++ b/src/modules/fiberDisplay/WMFiberDisplay.cpp @@ -282,14 +282,20 @@ void WMFiberDisplay::create() osg::ref_ptr< osg::Group > osgNodeNew = osg::ref_ptr< osg::Group >( new osg::Group ); m_fiberDrawable = osg::ref_ptr< WFiberDrawable >( new WFiberDrawable ); - m_fiberDrawable->setSelector( m_fiberSelector ); m_fiberDrawable->setBoundingBox( osg::BoundingBox( m_dataset->getBoundingBox().first[0], m_dataset->getBoundingBox().first[1], m_dataset->getBoundingBox().first[2], m_dataset->getBoundingBox().second[0], m_dataset->getBoundingBox().second[1], m_dataset->getBoundingBox().second[2] ) ); - m_fiberDrawable->setDataset( m_dataset ); + + m_fiberDrawable->setStartIndexes( m_dataset->getLineStartIndexes() ); + m_fiberDrawable->setPointsPerLine( m_dataset->getLineLengths() ); + m_fiberDrawable->setVerts( m_dataset->getVertices() ); + m_fiberDrawable->setTangents( m_dataset->getTangents() ); + m_fiberDrawable->setColor( m_dataset->getGlobalColors() ); + m_fiberDrawable->setBitfield( m_fiberSelector->getBitfield() ); + m_fiberDrawable->setUseDisplayList( false ); m_fiberDrawable->setDataVariance( osg::Object::DYNAMIC ); @@ -395,8 +401,21 @@ void WMFiberDisplay::toggleColoring() { if( m_coloring->changed() || m_customColoring->changed() ) { - m_fiberDrawable->setColoringMode( m_coloring->get( true ) ); - m_fiberDrawable->setCustomColoring( m_customColoring->get( true ) ); + if ( m_customColoring->get( true ) ) + { + m_fiberDrawable->setColor( m_dataset->getColorScheme( "Custom Color" )->getColor() ); + } + else + { + if ( m_coloring->get( true ) ) + { + m_fiberDrawable->setColor( m_dataset->getGlobalColors() ); + } + else + { + m_fiberDrawable->setColor( m_dataset->getLocalColors() ); + } + } } } diff --git a/src/modules/fiberDisplay/WMFiberDisplay.h b/src/modules/fiberDisplay/WMFiberDisplay.h index 9ccf6513389412867f75510d713016c30ec2463f..033cebc3b242a0fdf2e3639bf7a42fe3a92fe954 100644 --- a/src/modules/fiberDisplay/WMFiberDisplay.h +++ b/src/modules/fiberDisplay/WMFiberDisplay.h @@ -30,16 +30,16 @@ #include #include "../../dataHandler/WDataSetFibers.h" + +#include "../../graphicsEngine/WFiberDrawable.h" #include "../../graphicsEngine/WROI.h" #include "../../graphicsEngine/WROIBox.h" #include "../../graphicsEngine/WShader.h" +#include "../../kernel/WFiberSelector.h" #include "../../kernel/WModule.h" #include "../../kernel/WModuleInputData.h" -#include "WFiberSelector.h" -#include "WFiberDrawable.h" - /** * Module for drawing fibers * diff --git a/src/modules/modules-io.toolbox b/src/modules/modules-io.toolbox index b6c4622cabb5a088a3f6aeca875018dc65c0069e..42028c1d265f4aeb13bb6cd90ad9897fcd56a434 100644 --- a/src/modules/modules-io.toolbox +++ b/src/modules/modules-io.toolbox @@ -1,4 +1,4 @@ ADD_SUBDIRECTORY( exportGeometry ) -ADD_SUBDIRECTORY( meshReader ) +ADD_SUBDIRECTORY( readMesh ) ADD_SUBDIRECTORY( writeNIfTI ) #ADD_SUBDIRECTORY( writeTracts ) diff --git a/src/modules/meshReader/CMakeLists.txt b/src/modules/readMesh/CMakeLists.txt similarity index 100% rename from src/modules/meshReader/CMakeLists.txt rename to src/modules/readMesh/CMakeLists.txt diff --git a/src/modules/meshReader/WMMeshReader.cpp b/src/modules/readMesh/WMReadMesh.cpp similarity index 90% rename from src/modules/meshReader/WMMeshReader.cpp rename to src/modules/readMesh/WMReadMesh.cpp index bd69e4ab31a9fccbc7a53b6886f668ab14bb4cef..e2a6d5d50d930a7ea4147e1cbfeb396ac7ad8df7 100644 --- a/src/modules/meshReader/WMMeshReader.cpp +++ b/src/modules/readMesh/WMReadMesh.cpp @@ -30,48 +30,47 @@ #include "../../kernel/WKernel.h" #include "../../graphicsEngine/WTriangleMesh.h" -#include "WMMeshReader.h" -#include "WMMeshReader.xpm" +#include "WMReadMesh.h" +#include "WMReadMesh.xpm" // This line is needed by the module loader to actually find your module. -W_LOADABLE_MODULE( WMMeshReader ) +W_LOADABLE_MODULE( WMReadMesh ) -WMMeshReader::WMMeshReader(): +WMReadMesh::WMReadMesh(): WModule() { } -WMMeshReader::~WMMeshReader() +WMReadMesh::~WMReadMesh() { // cleanup removeConnectors(); } -boost::shared_ptr< WModule > WMMeshReader::factory() const +boost::shared_ptr< WModule > WMReadMesh::factory() const { // See "src/modules/template/" for an extensively documented example. - return boost::shared_ptr< WModule >( new WMMeshReader() ); + return boost::shared_ptr< WModule >( new WMReadMesh() ); } -const char** WMMeshReader::getXPMIcon() const +const char** WMReadMesh::getXPMIcon() const { - return meshreader_xpm; + return readMesh_xpm; } -const std::string WMMeshReader::getName() const +const std::string WMReadMesh::getName() const { - // Specify your module name here. This name must be UNIQUE! - return "Mesh Reader"; + return "Read Mesh"; } -const std::string WMMeshReader::getDescription() const +const std::string WMReadMesh::getDescription() const { // Specify your module description here. Be detailed. This text is read by the user. // See "src/modules/template/" for an extensively documented example. - return "Loads a triamgle mesh from a vtk file."; + return "Loads a triangle mesh from a vtk file."; } -void WMMeshReader::connectors() +void WMReadMesh::connectors() { m_output = boost::shared_ptr< WModuleOutputData< WTriangleMesh > >( new WModuleOutputData< WTriangleMesh >( shared_from_this(), "mesh", "The loaded mesh." ) ); @@ -81,7 +80,7 @@ void WMMeshReader::connectors() WModule::connectors(); } -void WMMeshReader::properties() +void WMReadMesh::properties() { // Put the code for your properties here. See "src/modules/template/" for an extensively documented example. @@ -94,7 +93,7 @@ void WMMeshReader::properties() WModule::properties(); } -void WMMeshReader::moduleMain() +void WMReadMesh::moduleMain() { m_moduleState.add( m_propCondition ); ready(); @@ -112,7 +111,7 @@ void WMMeshReader::moduleMain() } } -boost::shared_ptr< WTriangleMesh > WMMeshReader::read() +boost::shared_ptr< WTriangleMesh > WMReadMesh::read() { namespace su = string_utils; diff --git a/src/modules/meshReader/WMMeshReader.h b/src/modules/readMesh/WMReadMesh.h similarity index 95% rename from src/modules/meshReader/WMMeshReader.h rename to src/modules/readMesh/WMReadMesh.h index 455ba78974622e3ad0cf87b15c79c2ec9b89b0b9..6ae6670d8ede06d7a69c07e35f264de511f812d6 100644 --- a/src/modules/meshReader/WMMeshReader.h +++ b/src/modules/readMesh/WMReadMesh.h @@ -22,8 +22,8 @@ // //--------------------------------------------------------------------------- -#ifndef WMMESHREADER_H -#define WMMESHREADER_H +#ifndef WMREADMESH_H +#define WMREADMESH_H #include @@ -45,19 +45,19 @@ * * \ingroup modules */ -class WMMeshReader: public WModule +class WMReadMesh: public WModule { public: /** * */ - WMMeshReader(); + WMReadMesh(); /** * */ - virtual ~WMMeshReader(); + virtual ~WMReadMesh(); /** * Gives back the name of this module. @@ -117,4 +117,4 @@ private: WPropFilename m_meshFile; //!< The mesh will be read from this file. }; -#endif // WMMESHREADER_H +#endif // WMREADMESH_H diff --git a/src/modules/meshReader/WMMeshReader.xpm b/src/modules/readMesh/WMReadMesh.xpm similarity index 96% rename from src/modules/meshReader/WMMeshReader.xpm rename to src/modules/readMesh/WMReadMesh.xpm index 145948f10f05e9d2bd956d1f7f6b06cae115c228..65b9fe64247890fe40d41f364182152eea5994db 100644 --- a/src/modules/meshReader/WMMeshReader.xpm +++ b/src/modules/readMesh/WMReadMesh.xpm @@ -1,5 +1,5 @@ /* XPM */ -static const char * meshreader_xpm[] = { +static const char * readMesh_xpm[] = { "32 32 3 1", " c None", ". c #7F6DC5", diff --git a/src/modules/meshReader/meshreader.png b/src/modules/readMesh/readMesh.png similarity index 100% rename from src/modules/meshReader/meshreader.png rename to src/modules/readMesh/readMesh.png