From 73f967e943c8d7a77cb21411de990904f09baba6 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo@andromeda>
Date: Sat, 27 Nov 2010 18:26:06 +0000
Subject: [PATCH] Before adding another data structure to the chain.

---
 src/vertex.c |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/src/vertex.c b/src/vertex.c
index 54ae9b7..60123ab 100644
--- a/src/vertex.c
+++ b/src/vertex.c
@@ -5,25 +5,22 @@
 #include "vertex.h"
 #include<stdio.h>
 
-/* Argument je struktura vlist in stevilo vertexov, ki jih zelimo dati v
- * vlist je lahko NULL, N mora biti vecje od 0. Ce vlist obstaja, potem resizamo
- * vlist na stevilo N.
- */
-ts_vertex **init_vertex_list(ts_uint N){	
+ts_vertex_list *init_vertex_list(ts_uint N){	
 	ts_int i;
-    ts_vertex **vlist;
+    ts_vertex_list *vlist=(ts_vertex_list *)malloc(sizeof(ts_vertex_list *));
+    
 	if(N==0){
 		err("Initialized vertex list with zero elements. Pointer set to NULL");
-		vlist=NULL;
-		return NULL;
+        vlist->n=0;
+		vlist->vtx=NULL;
+		return vlist;
 	}
-		vlist=(ts_vertex **)malloc(N*sizeof(ts_vertex *));
-        if(vlist==NULL)
-            fatal("Fatal error reserving memory space for vertex list! Could number of requsted vertices be too large?", 100);
-        
-        for(i=0;i<N;i++){
-               vlist[i]=init_vertex(i); 
-        }
+	
+    vlist->vtx=(ts_vertex **)malloc(N*sizeof(ts_vertex *));
+    if(vlist->vtx==NULL)
+        fatal("Fatal error reserving memory space for vertex list! Could number of requsted vertices be too large?", 100);
+    for(i=0;i<N;i++) vlist->vtx[i]=init_vertex(i);
+    vlist->n=N;
 	return vlist;
 }
 
@@ -87,8 +84,19 @@
     return TS_SUCCESS;
 }
 
+ts_bool vtx_list_free(ts_vertex_list *vlist){
+    int i;
+    for(i=0;i<vlist->n;i++){
+        vtx_free(VTX(vlist,i));
+    }
+    free(vlist);
+    return TS_SUCCESS;
+}
 
-inline ts_double vertex_distance_sq(ts_vertex **vtx1, ts_vertex **vtx2){
+
+
+
+inline ts_double vtx_distance_sq(ts_vertex **vtx1, ts_vertex **vtx2){
     ts_double dist;
 #ifdef TS_DOUBLE_DOUBLE
     dist=pow((*vtx1)->x-(*vtx2)->x,2) + pow((*vtx1)->y-(*vtx2)->y,2) + pow((*vtx1)->z-(*vtx2)->z,2);

--
Gitblit v1.9.3