Salome HOME
projects
/
modules
/
hydro.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bug #183: regression: polyline - unnecessary table in Additition mode.
[modules/hydro.git]
/
src
/
HYDROCurveCreator
/
CurveCreator_Curve.hxx
diff --git
a/src/HYDROCurveCreator/CurveCreator_Curve.hxx
b/src/HYDROCurveCreator/CurveCreator_Curve.hxx
index bb29e889e439f8630ca3a273c7cc4e3c5d2e6c2a..24a216cf6d0a4f2f06aada35384b9ca330dc3b9f 100644
(file)
--- a/
src/HYDROCurveCreator/CurveCreator_Curve.hxx
+++ b/
src/HYDROCurveCreator/CurveCreator_Curve.hxx
@@
-29,14
+29,13
@@
#include "CurveCreator.hxx"
#include "CurveCreator_Diff.hxx"
#include "CurveCreator.hxx"
#include "CurveCreator_Diff.hxx"
-#include <AIS_Point.hxx>
-#include <AIS_Line.hxx>
-#include <AIS_InteractiveObject.hxx>
-
#include <list>
#include <list>
+#include <map>
struct CurveCreator_Section;
class CurveCreator_Displayer;
struct CurveCreator_Section;
class CurveCreator_Displayer;
+class AIS_Shape;
+class Handle_AIS_InteractiveObject;
/**
* The CurveCreator_Curve object is represented as one or more sets of
/**
* The CurveCreator_Curve object is represented as one or more sets of
@@
-69,6
+68,9
@@
public:
//! Set curve creator Displayer object
virtual void setDisplayer( CurveCreator_Displayer* theDisplayer );
//! Set curve creator Displayer object
virtual void setDisplayer( CurveCreator_Displayer* theDisplayer );
+ //! Return curve creator Displayer object
+ CurveCreator_Displayer* getDisplayer();
+
//! Remove curve creator Displayer object
virtual void removeDisplayer();
//! Remove curve creator Displayer object
virtual void removeDisplayer();
@@
-89,8
+91,6
@@
public:
*/
virtual int toICoord(const int theIPnt) const;
*/
virtual int toICoord(const int theIPnt) const;
- ListAISObjects constructSection( int theISection ) const;
-
//! For internal use only! Undo/Redo are not used here.
virtual bool moveSectionInternal(const int theISection,
const int theNewIndex);
//! For internal use only! Undo/Redo are not used here.
virtual bool moveSectionInternal(const int theISection,
const int theNewIndex);
@@
-105,12
+105,14
@@
protected:
*/
virtual bool addEmptyDiff();
*/
virtual bool addEmptyDiff();
- Handle_AIS_Point getAISPoint( int theISection, int theIPoint ) const;
- Handle_AIS_Line getAISLine( int theISection, int theIPoint1, int theIPoint2 ) const;
+public: // TODO: remove public
void getCoordinates( int theISection, int theIPoint, double& theX, double& theY, double& theZ ) const;
void getCoordinates( int theISection, int theIPoint, double& theX, double& theY, double& theZ ) const;
-
+protected: // TODO: remove public
void redisplayCurve();
void redisplayCurve();
+ void convert( const SectionToPointList &thePoints,
+ std::map<int, std::list<int> > &theConvPoints );
+
public:
/************ Implementation of INTERFACE methods ************/
public:
/************ Implementation of INTERFACE methods ************/
@@
-212,9
+214,7
@@
public:
/***********************************************/
//! For internal use only! Undo/Redo are not used here.
/***********************************************/
//! For internal use only! Undo/Redo are not used here.
- virtual bool addPointsInternal( const CurveCreator::Coordinates &theCoords,
- const std::vector<int> &theISections,
- const std::vector<int> &theIPnts );
+ virtual bool addPointsInternal( const CurveCreator::SectionsMap &theSectionsMap );
/**
* Add one point to the specified section starting from the given theIPnt index
* (or at the end of points if \a theIPnt is -1).
/**
* Add one point to the specified section starting from the given theIPnt index
* (or at the end of points if \a theIPnt is -1).
@@
-224,9
+224,7
@@
public:
const int theIPnt = -1 );
//! For internal use only! Undo/Redo are not used here.
const int theIPnt = -1 );
//! For internal use only! Undo/Redo are not used here.
- virtual bool setPointInternal( const int theISection,
- const int theIPnt,
- const CurveCreator::Coordinates& theNewCoords );
+ virtual bool setPointInternal( const CurveCreator::SectionsMap &theSectionsMap );
//! Set coordinates of specified point
virtual bool setPoint( const int theISection,
const int theIPnt,
//! Set coordinates of specified point
virtual bool setPoint( const int theISection,
const int theIPnt,
@@
-236,8
+234,7
@@
public:
virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords);
//! For internal use only! Undo/Redo are not used here.
virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords);
//! For internal use only! Undo/Redo are not used here.
- virtual bool removePointsInternal( const std::vector<int> &theISections,
- const std::vector<int> &theIPnts );
+ virtual bool removePointsInternal( const SectionToPointList &thePoints );
/** Remove point with given id */
virtual bool removePoint( const int theISection, const int theIPnt = -1 );
/** Remove point with given id */
virtual bool removePoint( const int theISection, const int theIPnt = -1 );
@@
-264,10
+261,15
@@
public:
/***********************************************/
/*** Presentation methods ***/
/***********************************************/
/***********************************************/
/*** Presentation methods ***/
/***********************************************/
- virtual ListAISObjects constructWire() const;
+ /**
+ * Get the curve AIS object
+ */
+ virtual Handle_AIS_InteractiveObject getAISObject( const bool theNeedToBuild = false ) const;
-public:
+protected:
+ virtual void constructAISObject();
+public:
bool myIsLocked;
CurveCreator::Sections mySections; //!< curve data
CurveCreator::Dimension myDimension; //!< curve dimension
bool myIsLocked;
CurveCreator::Sections mySections; //!< curve data
CurveCreator::Dimension myDimension; //!< curve dimension
@@
-281,6
+283,7
@@
private:
ListDiff myListDiffs;
int myUndoDepth;
int myOpLevel;
ListDiff myListDiffs;
int myUndoDepth;
int myOpLevel;
+ AIS_Shape* myAISShape; //!< AIS shape
};
#endif
};
#endif