It's unclear what you mean by this. Do you mean you are modeling a multi-dimensional shape like a cube or a prism? If so, would you be satisfied with a structure consisting of a list of points and a corresponding connection matrix?
For example, to model a cube, I could specify its eight corners in three dimensions with this 8x3 matrix of (x,y,z) co-ordinates:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
and model the connections between these points with an 8x8 connection matrix like this:
0 1 1 0 1 0 0 0
1 0 0 1 0 1 0 0
1 0 0 1 0 0 1 0
0 1 1 0 0 0 0 1
1 0 0 0 0 1 1 0
0 1 0 0 1 0 0 1
0 0 1 0 1 0 0 1
0 0 0 1 0 1 1 0
(where a one in position (i,j) indicates point "i" is connected to point "j").
sorry for the late reply. the format you have provided is quite good I must say buy I need to identify the formal theoretical rules that guide how nodes will be added to the defined data structure such as the prism for example the root node in which the Data structure will be accessed will be a structure with at most four children nodes and and the inner nodes will have also four pointers to what is not nessesarily child nodes but other nodes. imagine how a prisim looks like and then imagine a molecule that its atomic combinations resemble a prism out look. also the access valid efficient access methords that will simplify the search and retival of the required nodes.
You can expand the data structures given by Devon to represent any geometric structures. e.g. For implementing prism, along with the coordinates and adjacency matrix, you can have an array of root nodes. The node retrieval and any other operations can be implemented very efficiently with this. This can be just like another abstract data type.
You can use another representation by using other language specific data structures.
e.g. You can have
struct node{
int type;
int total_links;
node **links;
int *link_angles;
};
using this you can implement any geometrical structure
e.g
class cube{
node [8];
method add_molecule(node);
method tranerse_structure(node);
};
here for each node, node_type will be non_root, each node will link to 6 other nodes and angles will be 90 degree.
the implementation is correct another issue is the access and modification methods that will apply to this structure such as the ones that are used in the efficient access sorting and retrieval of nodes in a graph or a tree.