namespace GraphBase {
+ class Graph ;
+
class InLineNode ;
class ComputingNode : public StreamNode {
ComputingNode( CORBA::ORB_ptr ORB ,
SALOME_NamingService* ptrNamingService ,
const char * DataFlowName ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
+ const SUPERV::KindOfNode DataFlowkind ,
+ int * Graph_prof_debug ,
+ ofstream * Graph_fdebug ) ;
ComputingNode( CORBA::ORB_ptr ORB ,
SALOME_NamingService* ptrNamingService ,
const SALOME_ModuleCatalog::Service& NodeService ,
bool RemovePorts( const char* aNodeName ) ;
+ void SetMacroPorts( GraphBase::Graph * aGraph ) ;
+ void UpdateMacroPorts( GraphBase::Graph * aGraph ) ;
+ void SetMacroDatas( GraphBase::Graph * aGraph , GraphBase::Graph * aGraphOfMacroGraph ) ;
+
void DelInPort( const char * InputParameterName ) ;
void DelOutPort( const char * OutputParameterName ) ;
InPort * AddInPort( const char * InputParameterName ,
const char * InputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) ;
+ const SUPERV::KindOfPort aKindOfPort ,
+ int index = -1 ) ;
OutPort * AddOutPort( const char * OutputParameterName ,
const char * OutputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) ;
+ const SUPERV::KindOfPort aKindOfPort ,
+ int index = -1 ) ;
void DelInDataStreamPort( const char * InputParameterName ) ;
void DelOutDataStreamPort( const char * OutputParameterName ) ;
InDataStreamPort * AddInDataStreamPort( const char * InputParameterName ,
const SALOME_ModuleCatalog::DataStreamType InputParameterType ,
const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) ;
+ const SUPERV::KindOfPort aKindOfPort ,
+ int index = -1 ) ;
OutDataStreamPort * AddOutDataStreamPort( const char * OutputParameterName ,
const SALOME_ModuleCatalog::DataStreamType OutputParameterType ,
const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) ;
+ const SUPERV::KindOfPort aKindOfPort ,
+ int index = -1 ) ;
// ComputingNode * LinkedNodes( int i ) const { return (GraphBase::ComputingNode *) GraphBase::StreamNode::LinkedNodes( i ) ; } ;
- void AddLink( GraphBase::ComputingNode * ToNode ) {
- GraphBase::StreamNode::AddLink( ToNode ) ;
+ void AddLinkedNode( GraphBase::ComputingNode * ToNode ) {
+ GraphBase::StreamNode::AddLinkedNode( ToNode ) ;
cdebug << Name() << "->GraphBase::ComputingNode::AddLinkedNode( " << ToNode->Name()
<< ") ConnectedInPortsNumber " << ToNode->ConnectedInPortsNumber()
<< " + 1 Service " << ServiceName() << endl ;
ToNode->IncrConnectedInPortsNumber() ; } ;
- void RemoveLink( GraphBase::ComputingNode * ToNode ) {
- if ( GraphBase::StreamNode::RemoveLink( ToNode ) ) {
- cdebug << "GraphBase::StreamNode::RemoveLink to " << ToNode->Name() << " from "
+ bool RemoveLinkedNode( GraphBase::ComputingNode * ToNode ) {
+ bool RetVal = GraphBase::StreamNode::RemoveLinkedNode( ToNode ) ;
+ if ( RetVal ) {
+ cdebug << "GraphBase::StreamNode::RemoveLinkedNode to " << ToNode->Name() << " from "
<< Name() << " ConnectedInPortsNumber "
<< ToNode->ConnectedInPortsNumber() - 1 << endl ;
- ToNode->DecrConnectedInPortsNumber() ; } } ;
+ ToNode->DecrConnectedInPortsNumber() ;
+ }
+ return RetVal ; } ;
- void ReNameLink( const char* OldNodeName ,
- const char* NewNodeName ) {
- GraphBase::StreamNode::ReNameLink( OldNodeName , NewNodeName ) ; } ;
+ void ReNameLinkedNode( const char* OldNodeName ,
+ const char* NewNodeName ) {
+ GraphBase::StreamNode::ReNameLinkedNode( OldNodeName , NewNodeName ) ; } ;
void IncrConnectedInPortsNumber() {
cdebug << "IncrConnectedInPortsNumber " << Name() << " -> "