C++ main module for gpm Package  1.0
GPM_ConwayFunction.h
Go to the documentation of this file.
1 #ifndef GPM_ConwayFunction_H
2 #define GPM_ConwayFunction_H
3 
4 #include "GPM_PatternFunction.h"
5 
6 
8 
16 
18  SP_OBJECT(GPM_ConwayFunction);
19 
20 
21 private:
22  // ATTRIBUTES
23  // ASSOCIATIONS
24 
25 
26 protected:
27  // METHODS
28 
29  // CONSTRUCTORS
30 
32  GPM_ConwayFunction(void);
33 
34 
35 
36  // DESTRUCTORS
37 
38 
41  virtual ~GPM_ConwayFunction(void);
42 
43 
44 public:
45 
46  // NEW methods
47 
50  static inline SP::GPM_ConwayFunction New() {
51  SP::GPM_ConwayFunction p(new GPM_ConwayFunction(),
53  p->setThis(p);
54  return p;
55  }
56 
57  // SET & GET methods
58 
59 
60 public:
61 
67  const vector<tVertexIID>& mappingP2L,
68  const map<tVertexIID,tVertexIID>& mappingT2L,CORE_Out& io);
69 
101  virtual tBoolean updatePatternGraphStates(GPM_Graph& largeGraph,
102  const vector<tVertexIID>& mappingP2L,CORE_Out& io);
105  virtual tBoolean updatePTEdgesStates(SP::GPM_Edge PTedge,SP::GPM_Edge ledge,
106  GPM_Graph& largeGraph,
107  const vector<tVertexIID>& mappingP2L,
108  const map<tVertexIID,tVertexIID>& mappingT2L,
109  CORE_Out& io){return true;};
110 
111 private:
114  void computeStatesSums(const int* states,const unsigned int& n,vector<int>& statesSums) const;
117  int computeState(const int* states,const unsigned int& n,const int& centerState) const;
118 
119 };
120 
121 #endif
virtual tBoolean updateTransformerGraphStates(GPM_Graph &largeGraph, const vector< tVertexIID > &mappingP2L, const map< tVertexIID, tVertexIID > &mappingT2L, CORE_Out &io)
update the states of the transformed graph do nothing
Definition: GPM_ConwayFunction.cpp:16
virtual ~GPM_ConwayFunction(void)
destroy an object.
Definition: GPM_ConwayFunction.cpp:12
DEFINE_SVPTR(GPM_ConwayFunction)
#define tBoolean
Definition: types.h:35
GPM_ConwayFunction(void)
create an object
Definition: GPM_ConwayFunction.cpp:7
This class describes a pattern function.
Definition: GPM_ConwayFunction.h:17
virtual tBoolean updatePTEdgesStates(SP::GPM_Edge PTedge, SP::GPM_Edge ledge, GPM_Graph &largeGraph, const vector< tVertexIID > &mappingP2L, const map< tVertexIID, tVertexIID > &mappingT2L, CORE_Out &io)
update the states of edges betwen pattern & transform graph
Definition: GPM_ConwayFunction.h:105
virtual tBoolean updatePatternGraphStates(GPM_Graph &largeGraph, const vector< tVertexIID > &mappingP2L, CORE_Out &io)
update the states of the pattern graphs The states of the z center node is computed as follow: Comput...
Definition: GPM_ConwayFunction.cpp:26
DEFINE_SPTR(GPM_Graph)
This class describes a patten function.
Definition: GPM_PatternFunction.h:20
this class describes the output by default write on standart output
Definition: CORE_Out.h:21
static SP::GPM_ConwayFunction New()
create a port
Definition: GPM_ConwayFunction.h:50
This class describes a graph which is a list of nodes & ports.
Definition: GPM_Graph.h:19
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106