File: POEMSChain.h

package info (click to toggle)
lammps 0~20181211.gitad1b1897d%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 318,860 kB
  • sloc: cpp: 729,569; python: 40,508; xml: 14,919; fortran: 12,142; ansic: 7,454; sh: 5,565; perl: 4,105; f90: 2,700; makefile: 2,117; objc: 238; lisp: 163; tcl: 61; csh: 16; awk: 14
file content (73 lines) | stat: -rw-r--r-- 2,285 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 *_________________________________________________________________________*
 *      POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE     *
 *      DESCRIPTION: SEE READ-ME                                           *
 *      FILE NAME: PoemsChain.h                                            *
 *      AUTHORS: See Author List                                           * 
 *      GRANTS: See Grants List                                            *
 *      COPYRIGHT: (C) 2005 by Authors as listed in Author's List          *
 *      LICENSE: Please see License Agreement                              *
 *      DOWNLOAD: Free at www.rpi.edu/~anderk5                             *
 *      ADMINISTRATOR: Prof. Kurt Anderson                                 *
 *                     Computational Dynamics Lab                          *
 *                     Rensselaer Polytechnic Institute                    *
 *                     110 8th St. Troy NY 12180                           * 
 *      CONTACT:        anderk5@rpi.edu                                    *
 *_________________________________________________________________________*/

#ifndef POEMSCHAIN_H_
#define POEMSCHAIN_H_

#include "poemslist.h"

struct ChildRingData {
	List<int> * childRing;
	int entranceNodeId;
};

struct POEMSChain{
	~POEMSChain(){
		for(int i = 0; i < childChains.GetNumElements(); i++)
		{
			delete childChains(i);
		}
	}
	//void printTreeStructure(int tabs);
	//void getTreeAsList(List<int> * temp);
	List<int> listOfNodes;
	List<POEMSChain> childChains;
	POEMSChain * parentChain;
	List<ChildRingData> childRings;
	
	
	void printTreeStructure(int tabs){
		for(int i = 0; i < tabs; i++)
		{
			cout << "\t";
		}
		cout << "Chain: ";
		for(int i = 0; i < listOfNodes.GetNumElements(); i++)
		{
			cout << *(listOfNodes(i)) << " ";
		}
		cout << endl;
		for(int i = 0; i < childChains.GetNumElements(); i++)
		{
			childChains(i)->printTreeStructure(tabs + 1);
		}
	}
	void getTreeAsList(List<int> * temp)
	{
		for(int i = 0; i < listOfNodes.GetNumElements(); i++)
		{
			int * integer = new int;
			*integer = *(listOfNodes(i));
			temp->Append(integer);
		}
		for(int i = 0; i < childChains.GetNumElements(); i++)
		{
			childChains(i)->getTreeAsList(temp);
		}
	}
};
#endif