From 529830b38e4380a7a35b454324672aaea19580db Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 29 Jul 2011 11:31:49 +0200 Subject: Generate vectors for ReAx search --- src/reax.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/reax.c b/src/reax.c index 44dc52a6..60784da7 100644 --- a/src/reax.c +++ b/src/reax.c @@ -38,18 +38,54 @@ struct dvec struct reax_private { IndexingPrivate base; + struct dvec *directions; }; IndexingPrivate *reax_prepare() { struct reax_private *priv; + int ui, vi; + int samp; + double angular_inc; priv = calloc(1, sizeof(*priv)); if ( priv == NULL ) return NULL; priv->base.indm = INDEXING_REAX; + /* Decide on sampling interval */ + angular_inc = 0.03; /* From Steller (1997) */ + samp = (2.0 * M_PI) / angular_inc; + + priv->directions = malloc(samp*samp*sizeof(struct dvec)); + if ( priv == NULL) { + free(priv); + return NULL; + } + + for ( ui=0; uidirections[ui + vi*samp]; + + dir->x = cos(th) * sin(ph); + dir->y = sin(th) * sin(th); + dir->z = cos(ph); + + } + } + return (IndexingPrivate *)priv; } -- cgit v1.2.3