From: ouv Date: Mon, 23 Sep 2013 09:30:39 +0000 (+0000) Subject: Formatting. X-Git-Tag: BR_hydro_v_0_1~5 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=01088db9a5bdbd5b54e202ee2743ccea76e8dc98;p=modules%2Fhydro.git Formatting. --- diff --git a/src/HYDROGUI/HYDROGUI_AISCurve.cxx b/src/HYDROGUI/HYDROGUI_AISCurve.cxx index cfe51f30..8899eafd 100755 --- a/src/HYDROGUI/HYDROGUI_AISCurve.cxx +++ b/src/HYDROGUI/HYDROGUI_AISCurve.cxx @@ -2,345 +2,180 @@ #include "CurveCreator_Curve.hxx" - - #include - #include #include - #include #include - - HYDROGUI_AISCurveSection::HYDROGUI_AISCurveSection( Handle_AIS_InteractiveContext theContext, - CurveCreator_Curve* theCurve, int theSection) : - myCurve(theCurve), mySection(theSection), myContext(theContext), myIsHL(false) - { - buildSection(); - } - - HYDROGUI_AISCurveSection::~HYDROGUI_AISCurveSection() - { - Erase(); - for( int i = 0 ; i < myObjects.size() ; i++ ){ - myObjects[i].Nullify(); - } - myObjects.clear(); - } - - Quantity_Color HYDROGUI_AISCurveSection::getActiveColor() - { - if( myIsHL ){ - return Quantity_Color( 1., 0., 0., Quantity_TOC_RGB ); - } - return Quantity_Color( 0., 1., 0., Quantity_TOC_RGB ); - } - - void HYDROGUI_AISCurveSection::highlight( bool isHL ) - { - myIsHL = isHL; - Quantity_Color aColor = getActiveColor(); - for( int i = 0 ; i < myObjects.size() ; i++ ){ - myObjects[i]->SetColor(aColor); - myContext->Display(myObjects[i]); - } - } - - void HYDROGUI_AISCurveSection::Display() - { - for( int i = 0 ; i < myObjects.size() ; i++ ){ - myContext->Display(myObjects[i]); - } - } - - void HYDROGUI_AISCurveSection::Erase() - { - for( int i = 0 ; i < myObjects.size() ; i++ ){ - myContext->Erase(myObjects[i]); - } - } - - void HYDROGUI_AISCurveSection::buildSection() - { - int aSectSize = myCurve->getNbPoints( mySection ); - double anX; - double anY; - double aZ; - int i = 0; - for( ; i < ( aSectSize - 1 ) ; i++ ){ - Handle_AIS_Point anAISPnt = getAISPoint(i); - myObjects.push_back( anAISPnt ); - Handle_AIS_Line aLine = getAISLine( i, i+1 ); - myObjects.push_back( aLine ); - } - if( aSectSize != 0 ){ - Handle_AIS_Point anAISPnt = getAISPoint(i); - myObjects.push_back( anAISPnt ); - if( myCurve->isClosed(mySection) && ( aSectSize > 1 ) ){ - Handle_AIS_Line aLine = getAISLine( i, 0 ); - myObjects.push_back( aLine ); - } - } - } - - Handle_AIS_Point HYDROGUI_AISCurveSection::getAISPoint( int theIndx ) - { - double anX; - double anY; - double aZ; - getPoint( theIndx, anX, anY, aZ ); - gp_Pnt aPoint( anX, anY, aZ); AIS_Point* aPnt = new AIS_Point( new Geom_CartesianPoint(aPoint)); - return aPnt; - } - - Handle_AIS_Line HYDROGUI_AISCurveSection::getAISLine( int theIndx1, int theIndx2 ) - { - double anX; - double anY; - double aZ; - getPoint( theIndx1, anX, anY, aZ ); - gp_Pnt aPoint1( anX, anY, aZ); double anX2; - double anY2; - double aZ2; - getPoint( theIndx2, anX2, anY2, aZ2 ); - //MTN to avoid crash during line construction - if( ( anX == anX2 ) && ( anY == anY2 ) && (aZ == aZ2 ) ){ - aZ2 += 1e-7; - } gp_Pnt aPoint2( anX2, anY2, aZ2 ); AIS_Line* aLine = new AIS_Line( new Geom_CartesianPoint(aPoint1), new Geom_CartesianPoint(aPoint2) ); - return aLine; - } - - void HYDROGUI_AISCurveSection::getPoint( int theIndx, double& theX, double& theY, double& theZ ) - { - CurveCreator::Dimension aDim = myCurve->getDimension(); - CurveCreator::Coordinates aCoords = myCurve->getCoordinates( mySection, theIndx ); - theX = aCoords[0]; - theY = aCoords[1]; - theZ = 0.; - if( aDim == CurveCreator::Dim3d ){ - theZ = aCoords[2]; - } - } - - /******************************* HYDROGUI_AISCurve ********************************************/ - HYDROGUI_AISCurve::HYDROGUI_AISCurve( CurveCreator_Curve* theCurve, Handle_AIS_InteractiveContext theContext ) : - CurveCreator_Listener(), myCurve(theCurve), myContext( theContext ) - { - myCurve->setListener(this); - buildCurve(); - } - - HYDROGUI_AISCurve::~HYDROGUI_AISCurve(void) - { - } - - void HYDROGUI_AISCurve::setCurve( CurveCreator_Curve* theCurve ) - { - myCurve = theCurve; - buildCurve(); - } - - void HYDROGUI_AISCurve::Display() - { - for( int i = 0 ; i < myCurveRepresentation.size() ; i++ ){ - myCurveRepresentation[i]->Display(); - } - } - - void HYDROGUI_AISCurve::buildCurve() - { - for( int i = 0 ; i < myCurveRepresentation.size() ; i++ ){ - myCurveRepresentation[i]->Erase(); - delete myCurveRepresentation[i]; - } - myCurveRepresentation.clear(); for( int i = 0 ; i < myCurve->getNbSections() ; i++ ){ - HYDROGUI_AISCurveSection* aSection = new HYDROGUI_AISCurveSection( myContext, myCurve, i); - myCurveRepresentation.push_back( aSection ); - myCurveRepresentation[i]->Display(); - } - } - - void HYDROGUI_AISCurve::pointInserted( int theSection, int theIndx ) - { - buildCurve(); - } - - void HYDROGUI_AISCurve::highlightSection( int theSection, bool isHL ) - { - if( theSection >= myCurveRepresentation.size() ) - return; - myCurveRepresentation[theSection]->highlight(isHL); - } - diff --git a/src/HYDROGUI/HYDROGUI_AISCurve.h b/src/HYDROGUI/HYDROGUI_AISCurve.h index 88390a7e..5750ae6a 100755 --- a/src/HYDROGUI/HYDROGUI_AISCurve.h +++ b/src/HYDROGUI/HYDROGUI_AISCurve.h @@ -1,137 +1,76 @@ #ifndef HYDROGUI_AIS_CURVE_H - #define HYDROGUI_AIS_CURVE_H - - #include - #include - - #include - #include - #include #include - - class CurveCreator_Curve; class AIS_InteractiveObject; - class AIS_Point; - class AIS_Line; - - class HYDROGUI_AISCurveSection - { - public: - HYDROGUI_AISCurveSection( Handle_AIS_InteractiveContext theContext, - CurveCreator_Curve* theCurve, int theSection ); - virtual ~HYDROGUI_AISCurveSection(); - - void Display(); - void Erase(); - - void highlight( bool isHL ); protected: - virtual void buildSection(); void getPoint( int theIndx, double& theX, double& theY, double& theZ ); Handle_AIS_Point getAISPoint( int theIndx ); - Handle_AIS_Line getAISLine( int theIndx1, int theIndx2 ); Quantity_Color getActiveColor(); - - private: - CurveCreator_Curve* myCurve; - int mySection; - std::vector< Handle_AIS_InteractiveObject > myObjects; - Handle_AIS_InteractiveContext myContext; - bool myIsHighlight; - bool myIsHL; - }; - - class HYDROGUI_AISCurve : public CurveCreator_Listener - { - public: - HYDROGUI_AISCurve(CurveCreator_Curve* theCurve, Handle_AIS_InteractiveContext theContext ); - ~HYDROGUI_AISCurve(void); - - void setCurve( CurveCreator_Curve* theCurve ); - - void Display(); - - virtual void pointInserted( int theSection, int theIndx ); - - void highlightSection( int theSection, bool isHL ); void clearSelection(); - - protected: - virtual void buildCurve(); - Quantity_Color getActiveColor(); - - private: - CurveCreator_Curve* myCurve; - Handle_AIS_InteractiveContext myContext; - std::vector< HYDROGUI_AISCurveSection* > myCurveRepresentation; - }; - - -#endif \ No newline at end of file +#endif