bpp-core3
3.0.0
|
Defines a Tree Graph Associator. It is a template which follows (subscribed to) a Graph. More...
#include <Bpp/Graph/AssociationTreeGraphObserver.h>
Public Types | |
typedef AssociationTreeGraphObserver< N, E >::NodeIndex | NodeIndex |
typedef AssociationTreeGraphObserver< N, E >::EdgeIndex | EdgeIndex |
typedef TreeGraph::NodeId | NodeGraphid |
typedef TreeGraph::EdgeId | EdgeGraphid |
typedef AssociationGraphObserver< N, E >::NodeIterator | NodeIterator |
typedef AssociationGraphObserver< N, E >::EdgeIterator | EdgeIterator |
Public Member Functions | |
virtual bool | isValid () const =0 |
virtual std::shared_ptr< E > | getEdgeToFather (const std::shared_ptr< N > nodeObject) const =0 |
virtual std::shared_ptr< E > | getEdgeToFather (const NodeIndex nodeIndex) const =0 |
virtual void | rootAt (const std::shared_ptr< N > root)=0 |
Sets the root and make the tree directed from root to leaves. More... | |
virtual bool | isRooted () const =0 |
virtual std::shared_ptr< N > | getFatherOfNode (const std::shared_ptr< N > nodeObject) const =0 |
virtual bool | hasFather (const std::shared_ptr< N > nodeObject) const =0 |
virtual bool | hasFather (const NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getSons (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getSons (const NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getBranches (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getBranches (const NodeIndex node) const =0 |
virtual std::shared_ptr< N > | getSon (const std::shared_ptr< E > edge) const =0 |
virtual NodeIndex | getSon (const EdgeIndex edge) const =0 |
virtual std::shared_ptr< N > | getFatherOfEdge (const std::shared_ptr< E > edge) const =0 |
virtual NodeIndex | getFatherOfEdge (const EdgeIndex edge) const =0 |
virtual size_t | getNumberOfSons (const std::shared_ptr< N > node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getLeavesUnderNode (std::shared_ptr< N > node) const =0 |
virtual std::vector< std::shared_ptr< N > > | removeSons (const std::shared_ptr< N > node)=0 |
virtual void | removeSon (const std::shared_ptr< N > node, const std::shared_ptr< N > son)=0 |
virtual void | setFather (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > fatherNodeObject, const std::shared_ptr< E > edgeObject=0)=0 |
virtual void | addSon (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > sonNodeObject, const std::shared_ptr< E > edgeObject=0)=0 |
virtual std::unique_ptr< NodeIterator > | sonsIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | sonsIterator (std::shared_ptr< N > node) const =0 |
virtual std::unique_ptr< EdgeIterator > | branchesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< EdgeIterator > | branchesIterator (std::shared_ptr< N > node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getNodePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB, bool includeAncestor=true) const =0 |
Get a vector of ancestor nodes between to nodes. More... | |
virtual std::vector< std::shared_ptr< E > > | getEdgePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB) const =0 |
virtual std::vector< std::shared_ptr< N > > | getSubtreeNodes (const std::shared_ptr< N > localRoot) const =0 |
virtual std::vector< std::shared_ptr< E > > | getSubtreeEdges (const std::shared_ptr< N > localRoot) const =0 |
virtual Clonable * | clone () const =0 |
Create a copy of this object and send a pointer to it. More... | |
Graph Relations Management | |
Modificating the structure of the graph. | |
virtual void | createNode (std::shared_ptr< N > newNodeObject)=0 |
virtual void | createNode (std::shared_ptr< N > objectOriginNode, std::shared_ptr< N > newNodeObject, std::shared_ptr< E > newEdgeObject=00)=0 |
virtual void | link (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB, std::shared_ptr< E > edgeObject=00)=0 |
virtual void | unlink (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB)=0 |
virtual void | deleteNode (std::shared_ptr< N > nodeObject)=0 |
Object Association | |
virtual void | associateNode (std::shared_ptr< N > nodeObject, NodeGraphid node)=0 |
virtual void | associateEdge (std::shared_ptr< E > edgeObject, EdgeGraphid edge)=0 |
virtual void | dissociateNode (std::shared_ptr< N > nodeObject)=0 |
virtual void | dissociateEdge (std::shared_ptr< E > edgeObject)=0 |
virtual NodeGraphid | getNodeGraphid (const std::shared_ptr< N > nodeObject) const =0 |
virtual EdgeGraphid | getEdgeGraphid (const std::shared_ptr< E > edgeObject) const =0 |
virtual const std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid) const =0 |
virtual std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid)=0 |
virtual std::vector< std::shared_ptr< N > > | getNodesFromGraphid (std::vector< NodeGraphid >) const =0 |
virtual std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid)=0 |
virtual const std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid) const =0 |
virtual std::vector< std::shared_ptr< E > > | getEdgesFromGraphid (std::vector< EdgeGraphid >) const =0 |
virtual std::shared_ptr< N > | getRoot () const =0 |
virtual NodeIndex | getRootIndex () const =0 |
Object Indexation | |
Get or set indexes to nodes and edges | |
virtual bool | hasNodeIndex (const std::shared_ptr< N > nodeObject) const =0 |
return if the object has an index. More... | |
virtual bool | hasEdgeIndex (const std::shared_ptr< E > edgeObject) const =0 |
virtual NodeIndex | getNodeIndex (const std::shared_ptr< N > nodeObject) const =0 |
virtual std::vector< NodeIndex > | getNodeIndexes (std::vector< std::shared_ptr< N > > nodeObjects) const =0 |
virtual EdgeIndex | getEdgeIndex (const std::shared_ptr< E > edgeObject) const =0 |
virtual std::vector< EdgeIndex > | getEdgeIndexes (std::vector< std::shared_ptr< E > > edgeObjects) const =0 |
virtual NodeIndex | setNodeIndex (const std::shared_ptr< N > nodeObject, NodeIndex index)=0 |
virtual EdgeIndex | setEdgeIndex (const std::shared_ptr< E > edgeObject, EdgeIndex index)=0 |
virtual bool | hasNode (NodeIndex nodeIndex) const =0 |
virtual bool | hasEdge (EdgeIndex edgeIndex) const =0 |
virtual std::shared_ptr< N > | getNode (NodeIndex nodeIndex) const =0 |
virtual std::shared_ptr< E > | getEdge (EdgeIndex edgeIndex) const =0 |
Iterator interface on Nodes | |
virtual std::unique_ptr< NodeIterator > | allNodesIterator ()=0 |
virtual std::unique_ptr< NodeIterator > | allNodesIterator () const =0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node) const =0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getOutgoingNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getOutgoingEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getIncomingNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getIncomingEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getLeavesFromNode (std::shared_ptr< N > node, unsigned int maxDepth) const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllLeaves () const =0 |
virtual std::vector< NodeIndex > | getAllLeavesIndexes () const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllInnerNodes () const =0 |
virtual std::vector< NodeIndex > | getAllInnerNodesIndexes () const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllNodes () const =0 |
virtual std::vector< NodeIndex > | getAllNodesIndexes () const =0 |
Iterator interface on Edges | |
virtual std::unique_ptr< EdgeIterator > | allEdgesIterator ()=0 |
virtual std::unique_ptr< EdgeIterator > | outgoingEdgesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< EdgeIterator > | incomingEdgesIterator (std::shared_ptr< N > node)=0 |
virtual std::vector< std::shared_ptr< E > > | getAllEdges () const =0 |
virtual std::vector< EdgeIndex > | getAllEdgesIndexes () const =0 |
virtual std::shared_ptr< E > | getEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB) const =0 |
virtual void | setEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB, std::shared_ptr< E > edge)=0 |
Function called by the subjectGraph | |
Methods called by the subject graph to make this observer so fit the subject graph | |
virtual void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete)=0 |
virtual void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete)=0 |
Static Public Member Functions | |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&!std::is_abstract< B >::value, B * >::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&std::is_abstract< B >::value, B * >::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&!std::is_abstract< A >::value, B * >::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&std::is_base_of< Clonable, A >::value, B * >::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&!std::is_base_of< Clonable, A >::value, B * >::type *=0) |
Defines a Tree Graph Associator. It is a template which follows (subscribed to) a Graph.
Definition at line 63 of file AssociationTreeGraphObserver.h.
typedef TreeGraph::EdgeId bpp::AssociationTreeGraphObserver< N, E >::EdgeGraphid |
Definition at line 71 of file AssociationTreeGraphObserver.h.
typedef AssociationTreeGraphObserver<N, E>::EdgeIndex bpp::AssociationTreeGraphObserver< N, E >::EdgeIndex |
Definition at line 68 of file AssociationTreeGraphObserver.h.
typedef AssociationGraphObserver<N, E>::EdgeIterator bpp::AssociationTreeGraphObserver< N, E >::EdgeIterator |
Definition at line 219 of file AssociationTreeGraphObserver.h.
typedef TreeGraph::NodeId bpp::AssociationTreeGraphObserver< N, E >::NodeGraphid |
Definition at line 70 of file AssociationTreeGraphObserver.h.
typedef AssociationTreeGraphObserver<N, E>::NodeIndex bpp::AssociationTreeGraphObserver< N, E >::NodeIndex |
Definition at line 67 of file AssociationTreeGraphObserver.h.
typedef AssociationGraphObserver<N, E>::NodeIterator bpp::AssociationTreeGraphObserver< N, E >::NodeIterator |
Iterators
Definition at line 218 of file AssociationTreeGraphObserver.h.
|
pure virtual |
Add a son to a node
nodeObject | the concerned node |
sonNodeObject | the node to be added as a son to the father |
edgeObject | the optional edge between the nodes (default = 00) |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
Associate a E object to an edge in the graph.
edgeObject | object to associate |
edge | existing edge to be associated |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Associate a N object to a node in the graph.
nodeObject | object to associate |
node | existing node to be associated |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Create a copy of this object and send a pointer to it.
Implemented in bpp::TransformedParameter, bpp::MultipleDiscreteDistribution, bpp::DiscreteDistribution, bpp::ParameterListener, bpp::BppNumberI, bpp::HmmLikelihood, bpp::HmmEmissionProbabilities, bpp::Optimizer, bpp::OptimizationStopCondition, bpp::DerivableSecondOrder, bpp::DerivableFirstOrder, bpp::AbstractNumericalDerivative, bpp::Constraint, bpp::OutputStream, bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, bpp::RTransformedParameter, bpp::Table< T >, bpp::PrincipalComponentAnalysis, bpp::DualityDiagram, bpp::CorrespondenceAnalysis, bpp::ContingencyTableTest, bpp::Range< T >, bpp::UniformDiscreteDistribution, bpp::TruncatedExponentialDiscreteDistribution, bpp::Simplex, bpp::SimpleDiscreteDistribution, bpp::MixtureOfDiscreteDistributions, bpp::InvariantMixedDiscreteDistribution, bpp::GaussianDiscreteDistribution, bpp::GammaDiscreteDistribution, bpp::ExponentialDiscreteDistribution, bpp::DirichletDiscreteDistribution, bpp::ConstantDistribution, bpp::BetaDiscreteDistribution, bpp::ParametrizableCollection< N >, bpp::ParameterList, bpp::Parameter, bpp::ParameterEvent, bpp::BppUnsignedInteger, bpp::BppInteger, bpp::BppDouble, bpp::Number< T >, bpp::Number< double >, bpp::Number< int >, bpp::Number< unsigned int >, bpp::BppNotANumber, bpp::LinearMatrix< Scalar >, bpp::ColMatrix< Scalar >, bpp::RowMatrix< Scalar >, bpp::RowMatrix< double >, bpp::RowMatrix< Real >, bpp::RescaledHmmLikelihood, bpp::LowMemoryRescaledHmmLikelihood, bpp::LogsumHmmLikelihood, bpp::FullHmmTransitionMatrix, bpp::AutoCorrelationTransitionMatrix, bpp::TwoPointsNumericalDerivative, bpp::ThreePointsNumericalDerivative, bpp::SimpleNewtonMultiDimensions, bpp::SimpleMultiDimensions, bpp::ReparametrizationDerivableSecondOrderWrapper, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::ReparametrizationFunctionWrapper, bpp::PowellMultiDimensions, bpp::PowellMultiDimensions::PMDStopCondition, bpp::FunctionStopCondition, bpp::ParametersStopCondition, bpp::NegativeOperator, bpp::MathOperator, bpp::FunctionOperator< F >, bpp::ConstantOperator, bpp::ComputationTree, bpp::BinaryOperator, bpp::NewtonOneDimension, bpp::NewtonBacktrackOneDimension, bpp::NewtonBacktrackOneDimension::NBODStopCondition, bpp::MetaOptimizer, bpp::MetaOptimizerInfos, bpp::GoldenSectionSearch, bpp::GoldenSectionSearch::GSSStopCondition, bpp::TestFunction, bpp::InfinityDerivableSecondOrderWrapper, bpp::InfinityDerivableFirstOrderWrapper, bpp::InfinityFunctionWrapper, bpp::FivePointsNumericalDerivative, bpp::DownhillSimplexMethod, bpp::DownhillSimplexMethod::DSMStopCondition, bpp::DirectionFunction, bpp::ConjugateGradientMultiDimensions, bpp::BrentOneDimension, bpp::BrentOneDimension::BODStopCondition, bpp::BfgsMultiDimensions, bpp::DataTable, bpp::IntervalConstraint, bpp::AutoParameter, bpp::AliasParameterListener, bpp::StdErr, bpp::StdOut, bpp::StlOutputStreamWrapper, bpp::StlOutputStream, bpp::NullOutputStream, bpp::RGBColor, bpp::Point2D< T >, bpp::Font, bpp::GlobalGraph, bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >, bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >, bpp::AssociationDAGraphImplObserver< N, E, DAGraphImpl >, bpp::BppVector< T >, bpp::BppString, and bpp::BppBoolean.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::LogsumHmmLikelihood::LogsumHmmLikelihood(), and bpp::LogsumHmmLikelihood::operator=().
|
inlinestaticinherited |
Specific copy of A and B objects, if clonable or not.
Definition at line 82 of file AssociationGraphObserver.h.
|
inlinestaticinherited |
Definition at line 88 of file AssociationGraphObserver.h.
|
inlinestaticinherited |
Definition at line 95 of file AssociationGraphObserver.h.
|
inlinestaticinherited |
Definition at line 107 of file AssociationGraphObserver.h.
|
inlinestaticinherited |
Definition at line 101 of file AssociationGraphObserver.h.
|
pure virtualinherited |
Creates an orphaned node from a NodeClass object.
newNodeObject | the N object associated to the node in the graph. |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Creates an node linked to an existing node. Order of parameters match the link method.
newNodeObject | the N object associated to the node in the graph. |
objectOriginNode | existing node. In a directed graph: origin -> newNode. |
newEdgeObject | optional edge between nodes (default = 00) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Delete unused object edges, since they have been deleted in the graph
edgesToDelete | a vector of Edges to delete |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Delete unused object nodes, since they have been deleted in the graph
nodesToDelete | a vector of N to delete |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Deletes a node
nodeObject | node to be deleted |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Dissociate a N or E object to a node or an edge in the graph. Graph is not changed.
nodeObject | object to dissociate |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Get all the defined edges of a graphO,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Get all the inner nodes of a graph, ie, nodes with degree >= 2.
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Get all the leaves objects of a graph, ie, nodes with only one neighbor,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Get all the defined nodes of a graphO,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return the branches to the sons of a node
node | the concerned node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Return the associated Node index
edgeIndex | the index of the wanted edge |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
Return the associated Node ID
edgeObject | object which to return the node ID |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Return the associated Node index
edgeObject | object which to return the node index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Returns the Edge between two nodes nodeA -> nodeB
nodeA | source node (if directed) |
nodeB | destination node (if directed) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Get all the edges from/to a node in the graph.
node | the node one wants to get its neighbor edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return, in a rooted tree, the branch leading to the father
nodeObject | the concerned node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return, in a rooted tree, the father of an edge
edge | the concerned edge |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return, in a rooted tree, the father node
nodeObject | the concerned node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
In an directed graph, get all the edges which are coming to a node in the graph.
node | the node one wants to get its edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
In an directed graph, get all the neighbors which are coming to a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Get the leaves of a graph, ie, nodes with only one neighbor, starting from a peculiar node, up to a specific depth.
node | the starting node |
maxDepth | the max recursion depth |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Get the leaves of a tree under a peculiar node.
node | the starting node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Get all the neighbors of a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Return the associated Node, querying with an index
nodeIndex | the index of the wanted node |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Transforms an (a list of) id(s) into an (a list of) object(s)
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
Return the associated Node ID
nodeObject | object which to return the node ID |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Return the associated Node index
nodeObject | object which to return the node index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtual |
Get a vector of ancestor nodes between to nodes.
nodeA | first node. |
nodeB | second node. |
includeAncestor | Tell if the common ancestor must be included in the vector. |
PhyloNodeNotFoundException | If a node is not found. |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtual |
Return, in a rooted tree, the number of sons
node | the concerned node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
In an directed graph, get all the edges which are leaving a node in the graph.
node | the node one wants to get its edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
In an directed graph, get all the neighbors which are leaving a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return, in a rooted tree, the son of an edge
edge | the concerned edge |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Return, in a rooted tree, the sons of a node
node | the concerned node |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Return if the Graph has an edge matching edgeIndex
edgeIndex | the index of the wanted edge |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Has the node a father?
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Return if the Graph has a node matching nodeIndex
nodeIndex | the index of the wanted node |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
return if the object has an index.
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Is the graph a tree? A tree must be acyclic and with no isolated node.
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Creates a link between two existing nodes. If directed graph: nodeA -> nodeB.
nodeObjectA | source node (or first node if undirected) |
nodeObjectB | target node (or second node if undirected) |
edgeObject | the optional edge between the nodes (default = 00) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
Remove a son of a node
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Remove the sons of a node
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Sets the root and make the tree directed from root to leaves.
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Set an index associated to an edge
edgeObject | object to which one want to set the index |
index | intex to be given, 0 to get the first free index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Sets the Edge between two nodes nodeA -> nodeB
nodeA | source node (if directed) |
nodeB | destination node (if directed) |
edge | the edge between these two nodes |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Change / set the father of a node
nodeObject | the concerned node |
fatherNodeObject | the node to be the father |
edgeObject | the optional edge between the nodes (default = 00) |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Set an index associated to a node
nodeObject | object to which one want to set the index |
index | intex to be given, 0 to get the first free index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Implemented in bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Detroys a link between two existing nodes in the graph. If directed graph: nodeA -> nodeB.
nodeObjectA | source node (or first node if undirected) |
nodeObjectB | target node (or second node if undirected) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.