Salome HOME
Merge branch 'V8_5_BR'
[modules/yacs.git] / src / engine / AbstractPoint.hxx
index 9a8d35afa9a783a4e040ef0ae55068c59f8b315a..e75f07739ada0e4f0cb2e5ae583a52ad2421a68f 100644 (file)
 #define __ABSTRACTPOINT_HXX__
 
 #include "YACSlibEngineExport.hxx"
+#include "PlayGround.hxx"
+#include "AutoRefCnt.hxx"
 
+#include <map>
 #include <list>
 #include <vector>
 #include <string>
@@ -34,7 +37,9 @@ namespace YACS
     class InGate;
     class OutGate;
     class BlocPoint;
+    class ComposedNode;
     class ForkBlocPoint;
+    class PointVisitor;
     class LinkedBlocPoint;
     
     class YACSLIBENGINE_EXPORT AbstractPoint
@@ -63,7 +68,10 @@ namespace YACS
       virtual bool contains(Node *node) = 0;
       virtual int getNumberOfNodes() const = 0;
       virtual int getMaxLevelOfParallelism() const = 0;
+      virtual void getWeightRegardingDPL(ComplexWeight *weight) = 0;
+      virtual void partitionRegardingDPL(const PartDefinition *pd, std::map<ComposedNode *, YACS::BASES::AutoRefCnt<PartDefinition> >& zeMap) const = 0;
       virtual std::string getRepr() const = 0;
+      virtual void accept(PointVisitor *pv) = 0;
       virtual ~AbstractPoint();
     public:
       static bool IsGatherB4Ext(Node *node);