44 int nNumberNodes = int(nodes->size());
46 for (
int n = 0; n < nNumberNodes; n++)
54 int nNumberEdges = int(edges->size());
56 for (
int e = 0; e < nNumberEdges; e++)
72 std::vector<CSGEdge*>::iterator iter =
m_Edges.begin();
83 std::vector<CSGNode*>::iterator iter_node =
m_Nodes.begin();
85 while (iter_node !=
m_Nodes.end())
111 return addEdge(nIndex1, nIndex2, -1, -1);
132 return int(
m_Edges.size()) - 1;
138 if (nNode == nAdjacency)
140 printf(
"Error: adding node as adjacenca\n");
144 bool bPresent =
false;
204 infile >> nNumberNodes;
207 for (
int n = 0; n < nNumberNodes; n++)
214 infile >> nNumberEdges;
216 for (
int e = 0; e < nNumberEdges; e++)
221 catch (std::istream::failure&)
223 printf(
"ERROR: failed to write FeatureGraph to file\n");
244 if (
addNode(pNewNode) != nIndex)
246 printf(
"Error input file inconsistent\n");
256 int nIndex1, nIndex2, nLeftFace, nRightFace;
262 infile >> nRightFace;
264 addEdge(nIndex1, nIndex2, nLeftFace, nRightFace);
273 int nNumberNodes = int(
m_Nodes.size());
275 outfile << nNumberNodes << std::endl;
278 for (
int n = 0; n < nNumberNodes; n++)
284 int nNumberEdges = int(
m_Edges.size());
285 outfile << nNumberEdges << std::endl;
287 for (
int e = 0; e < nNumberEdges; e++)
292 catch (std::ostream::failure&)
294 printf(
"ERROR: failed to write FeatureGraph to file\n");
306 outfile << pCurrentNode->
getIndex() << std::endl;
310 outfile << std::endl;
318 outfile << pCurrentEdge->
nIndex1 <<
" ";
319 outfile << pCurrentEdge->
nIndex2 <<
" ";
321 outfile << pCurrentEdge->
nLeftFace <<
" ";
324 outfile << std::endl;
std::vector< CSGEdge * > TEdgeList
std::vector< CSGNode * > TNodeList
TSphereCoord getPosition()
void setPosition(TSphereCoord position)
void setIndex(int nIndex)
CSGEdge * getEdge(int nEdgeIndex)
virtual bool writeNode(std::ostream &outfile, int n)
void addNodeAdjacency(int nNode, int nAdjacency)
virtual ~CSphericalGraph()
virtual bool write(std::ostream &outfile)
std::vector< int > * getNodeAdjacency(int nIndex)
std::vector< int > m_NodeAdjacency[MAX_NODES]
virtual bool readNode(std::istream &infile)
virtual bool readEdge(std::istream &infile)
int addEdge(int nIndex1, int nIndex2)
int addNode(CSGNode *pNode)
virtual bool writeEdge(std::ostream &outfile, int e)
CSGNode * getNode(int nIndex)
virtual CSGNode * getNewNode()
CSphericalGraph & operator=(CSphericalGraph const &rhs)
virtual bool read(std::istream &infile)