From aede7e0121a037fd7226a8bfd558eb21a932fa5a Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Wed, 14 Aug 2019 21:30:25 +0000
Subject: [PATCH] Added additional functions to ease Ulm2 poststating

---
 src/vertex.c |   55 ++++++++++++++++++++++---------------------------------
 1 files changed, 22 insertions(+), 33 deletions(-)

diff --git a/src/vertex.c b/src/vertex.c
index 1993856..59a6419 100644
--- a/src/vertex.c
+++ b/src/vertex.c
@@ -1,3 +1,4 @@
+/* vim: set ts=4 sts=4 sw=4 noet : */
 #include<stdlib.h>
 #include<math.h>
 #include<string.h>
@@ -5,6 +6,14 @@
 #include "vertex.h"
 #include "bond.h"
 #include<stdio.h>
+
+ts_bool vertex_list_assign_id(ts_vertex_list *vlist, ts_uint id){
+	ts_uint i;	
+	for(i=0;i<vlist->n;i++){
+		vlist->vtx[i]->id = id;
+	}
+	return TS_SUCCESS;
+}
 
 ts_vertex_list *init_vertex_list(ts_uint N){	
 	ts_int i;
@@ -191,6 +200,19 @@
     return TS_SUCCESS;
 }
 
+/** Calculates the triple product of vectors defined by vertices vtx1, vtx2 and vtx3, ($\mathrm{vtx}_1\cdot(\mathrm{vtx}_2\cross\mathrm{vtx}_3$):
+ *  \begin{vmatrix}
+ *  x_1 & y_1 & z_1 \\
+ *  x_2-x_1 & y_2-y_1 & z_2-z_1\\
+ *  x_3-x_1 & y_3-y_1 & z_3-z_1\\
+ *  \end{vmatrix}
+ *  where the vertices coordinates are denoted by corresponding vertex index number. Function is used to determine the orientation of area formed by triangle formed by the three given vertices.
+ *
+ *      @param vtx1 is first vertex, according to which the orientation is calculated
+ *      @param vtx2 is the second vertex
+ *      @param vtx3 is the third vertex
+ *      @returns directionality of the area of the triangle formed by vertices vtx1, vtx2 and vtx3. It is positive if vtx1, vtx2 and vtx3 are oriented counter-clockwise.
+*/
 inline ts_double vtx_direct(ts_vertex *vtx1, ts_vertex *vtx2, ts_vertex *vtx3){
     ts_double dX2=vtx2->x-vtx1->x;
     ts_double dY2=vtx2->y-vtx1->y;
@@ -310,37 +332,4 @@
     }
 
     return vlist;
-}
-
-
-
-ts_bool vertex_taint(ts_vertex *vtx, ts_uint level){
-	if(level==0){
-		vtx->locked++;
-		return TS_SUCCESS;	
-	}	
-	ts_uint i;
-	for(i=0; i<vtx->neigh_no; i++){
-		vertex_taint(vtx->neigh[i], level-1);
-	}
-		vtx->locked++;
-	return TS_SUCCESS;
-}
-
-ts_bool vertex_untaint(ts_vertex *vtx, ts_uint level){
-	if(level==0){
-		vtx->locked--;
-		return TS_SUCCESS;	
-	}	
-	ts_uint i;
-	for(i=0; i<vtx->neigh_no; i++){
-		vertex_untaint(vtx->neigh[i], level-1);
-	}
-		vtx->locked--;
-	return TS_SUCCESS;
-}
-
-inline ts_bool vertex_tainted(ts_vertex *vtx, ts_uint level, ts_uint amount){
-	if(vtx->locked>amount) return 1;
-	else return 0;
 }

--
Gitblit v1.9.3