#include <PaneConnectivity.hpp>
Public Member Functions | |
PaneConnectivity () | |
Default Constructor. More... | |
PaneConnectivity (const int *pconnarray, const int size) | |
Custom constructor. More... | |
~PaneConnectivity () | |
Destructor. More... | |
void | getPointConnectionPairs (const int localPointId, std::vector< std::pair< int, int > > &connections) |
This method returns the point connection pairs for the given local point. More... | |
void | constructPaneConnectivityFromArray (const int *pconnarray, const int size) |
Constructs a PaneConnectivity object from the pcon array returned from Rocmap. More... | |
int | getNumberOfConnections () const |
Returns the number of connections for this instance. More... | |
bool | hasPane (const int paneId) const |
Checks if the pane exists in this instance. More... | |
int | getNumberOfNodesSharedWithRemotePane (const int remotePane) |
Returns the number of nodes shared with a particular remote pane. More... | |
bool | hasLocalPoint (const int localPointId) const |
This method checks if the local point exists in this instance. More... | |
void | getRemotePaneIdsSharedWithPoint (const int localPointId, std::vector< int > &rmtpaneIds) |
This method returns the list of remote panes that share the point associated with the provided localPointId. More... | |
void | getRemotePaneIds (std::vector< int > &rmtpanes) |
Returns the remote pane ids that are connected to this instance. More... | |
int | getSharedPointIdAt (const int paneId, const int nodeIndex) |
This method returns the local shared point Id of the given pane at the given index. More... | |
std::vector< int > & | getNodesSharedWithRemotePane (const int remotePane) |
Returns a reference to the list of nodes shared with the remotePane. More... | |
Private Member Functions | |
int | getSharedNodeIndex (const int remotePane, const int localPoint) |
Returns the index to the shared node list of the local point that is shared with the given remote pane. More... | |
int | accesspcon (int &index, const int *p, const int size) |
A convenience method which provides safe access to the pconn array by doing bounds checking and memory corruption checking. More... | |
void | buildPaneConnectivity (const int *pconnarray, const int size) |
Builds the pane connectivity data-structured from a flat integer array returned from RocMap. More... | |
Private Attributes | |
std::map< int, std::vector< int > > | pconn |
Holds a mapping of remote pane to a list of local ids that are shared. More... | |
std::map< int, std::vector< int > > | point2remotePaneList |
Holds a mapping of localpoint ids to remote pane ids. More... | |
std::map< std::pair< int, int > , int > | rmtpanePointPair2Index |
Holds a mapping of a (remotePane,localPoint) pair to the index in the shared node list. More... | |
Definition at line 19 of file PaneConnectivity.hpp.
|
inline |
Default Constructor.
Definition at line 129 of file PaneConnectivity.hpp.
|
inline |
Custom constructor.
Builds a PaneConnectivity data-structured from the pconnarray returned from Roccom.
pconnarray | the pcon connectivity array. |
size | the size of the pconnarray. |
Definition at line 139 of file PaneConnectivity.hpp.
|
inline |
|
inlineprivate |
A convenience method which provides safe access to the pconn array by doing bounds checking and memory corruption checking.
After, the access transaction is complete, the index is also automatically incremented.
index | the index to access. |
p | the pcon array. |
size | the size of the pcon array. |
Definition at line 70 of file PaneConnectivity.hpp.
|
inlineprivate |
Builds the pane connectivity data-structured from a flat integer array returned from RocMap.
pconnarray | the pconn array returned from Rocmap. |
size | the size of the pconn array. |
Definition at line 87 of file PaneConnectivity.hpp.
References PaneConnectivity::pconn.
|
inline |
Constructs a PaneConnectivity object from the pcon array returned from Rocmap.
pconnarray | the pcon connectivity array. |
size | the size of the pconnarray. |
Definition at line 181 of file PaneConnectivity.hpp.
|
inline |
Returns a reference to the list of nodes shared with the remotePane.
remotePane | the id of the remote pane that has shared nodes with this instance. |
Definition at line 293 of file PaneConnectivity.hpp.
References PaneConnectivity::hasPane(), and PaneConnectivity::pconn.
Referenced by maskPoints().
|
inline |
Returns the number of connections for this instance.
Definition at line 191 of file PaneConnectivity.hpp.
|
inline |
Returns the number of nodes shared with a particular remote pane.
remotePane | the remote pane in query. |
Definition at line 207 of file PaneConnectivity.hpp.
References PaneConnectivity::hasPane(), and PaneConnectivity::pconn.
Referenced by maskPoints().
|
inline |
This method returns the point connection pairs for the given local point.
localPointId | the point id in query. |
connections | the list of connection pairs. |
Definition at line 155 of file PaneConnectivity.hpp.
References PaneConnectivity::getSharedNodeIndex(), and i.
|
inline |
Returns the remote pane ids that are connected to this instance.
rmtpanes | vector where the remote pane ids will be stored. |
Definition at line 257 of file PaneConnectivity.hpp.
Referenced by maskPoints().
|
inline |
This method returns the list of remote panes that share the point associated with the provided localPointId.
localPointId | the local point id. |
rmtpaneIds | the list of remote pane ids. |
Definition at line 239 of file PaneConnectivity.hpp.
References copy, PaneConnectivity::hasLocalPoint(), and PaneConnectivity::point2remotePaneList.
|
inlineprivate |
Returns the index to the shared node list of the local point that is shared with the given remote pane.
remotePane | the remote pane id. |
localPoint | the local point id. |
Definition at line 35 of file PaneConnectivity.hpp.
References PaneConnectivity::hasLocalPoint(), PaneConnectivity::hasPane(), PaneConnectivity::pconn, and PaneConnectivity::rmtpanePointPair2Index.
Referenced by PaneConnectivity::getPointConnectionPairs().
|
inline |
This method returns the local shared point Id of the given pane at the given index.
paneId | the pane id in query. |
nodeIndex | the index of the point in query. |
Definition at line 276 of file PaneConnectivity.hpp.
References PaneConnectivity::hasPane(), and PaneConnectivity::pconn.
|
inline |
This method checks if the local point exists in this instance.
localPointId | the local point id. |
Definition at line 221 of file PaneConnectivity.hpp.
References PaneConnectivity::point2remotePaneList.
Referenced by PaneConnectivity::getRemotePaneIdsSharedWithPoint(), and PaneConnectivity::getSharedNodeIndex().
|
inline |
Checks if the pane exists in this instance.
paneId | the (remote) paneId to check. |
Definition at line 198 of file PaneConnectivity.hpp.
References PaneConnectivity::pconn.
Referenced by PaneConnectivity::getNodesSharedWithRemotePane(), PaneConnectivity::getNumberOfNodesSharedWithRemotePane(), PaneConnectivity::getSharedNodeIndex(), and PaneConnectivity::getSharedPointIdAt().
|
private |
Holds a mapping of remote pane to a list of local ids that are shared.
Definition at line 22 of file PaneConnectivity.hpp.
Referenced by PaneConnectivity::buildPaneConnectivity(), PaneConnectivity::getNodesSharedWithRemotePane(), PaneConnectivity::getNumberOfNodesSharedWithRemotePane(), PaneConnectivity::getSharedNodeIndex(), PaneConnectivity::getSharedPointIdAt(), and PaneConnectivity::hasPane().
|
private |
Holds a mapping of localpoint ids to remote pane ids.
Definition at line 23 of file PaneConnectivity.hpp.
Referenced by PaneConnectivity::getRemotePaneIdsSharedWithPoint(), and PaneConnectivity::hasLocalPoint().
|
private |
Holds a mapping of a (remotePane,localPoint) pair to the index in the shared node list.
Definition at line 24 of file PaneConnectivity.hpp.
Referenced by PaneConnectivity::getSharedNodeIndex().