Revision: 38953
http://brlcad.svn.sourceforge.net/brlcad/?rev=38953&view=rev
Author: erikgreenwald
Date: 2010-05-04 20:16:07 +0000 (Tue, 04 May 2010)
Log Message:
-----------
msvc pukes on variable arity macros, so ugly things up by eliminating the
TIE_FUNC macro and wedge TIE_VAL in instead
Modified Paths:
--------------
brlcad/trunk/src/adrt/libtie/tie.c
brlcad/trunk/src/adrt/libtie/tie.h
brlcad/trunk/src/adrt/libtie/tie_define.h
brlcad/trunk/src/adrt/libtie/tie_kdtree.c
brlcad/trunk/src/adrt/libtie/tie_kdtree.h
Modified: brlcad/trunk/src/adrt/libtie/tie.c
===================================================================
--- brlcad/trunk/src/adrt/libtie/tie.c 2010-05-04 17:21:15 UTC (rev 38952)
+++ brlcad/trunk/src/adrt/libtie/tie.c 2010-05-04 20:16:07 UTC (rev 38953)
@@ -117,7 +117,7 @@
* @param kdmethod Either TIE_KDTREE_FAST or TIE_KDTREE_OPTIMAL
* @return void
*/
-TIE_FUNC(void tie_init, tie_t *tie, unsigned int tri_num, unsigned int
kdmethod)
+void TIE_VAL(tie_init)(tie_t *tie, unsigned int tri_num, unsigned int kdmethod)
{
tie->kdtree = NULL;
tie->kdmethod = kdmethod;
@@ -138,7 +138,7 @@
* @param tie pointer to a struct tie_t
* @return void
*/
-TIE_FUNC(void tie_free, tie_t *tie)
+void TIE_VAL(tie_free)(tie_t *tie)
{
unsigned int i;
@@ -160,7 +160,7 @@
* @param tie pointer to a struct tie_t which now has all the triangles in it
* @return void
*/
-TIE_FUNC(void tie_prep, tie_t *tie)
+void TIE_VAL(tie_prep)(tie_t *tie)
{
/* Build the kd-tree */
tie_kdtree_prep (tie);
@@ -192,7 +192,7 @@
* @retval 0 ray did not hit anything, or ray was propagated through the
geometry completely.
* @retval !0 the value returned from the last invokation of hitfunc()
*/
-TIE_FUNC(void* tie_work, tie_t *tie, tie_ray_t *ray, tie_id_t *id, void
*(*hitfunc)(tie_ray_t*, tie_id_t*, tie_tri_t*, void *ptr), void *ptr)
+void* TIE_VAL(tie_work)(tie_t *tie, tie_ray_t *ray, tie_id_t *id, void
*(*hitfunc)(tie_ray_t*, tie_id_t*, tie_tri_t*, void *ptr), void *ptr)
{
tie_stack_t stack[40];
tie_id_t t, id_list[256];
@@ -405,7 +405,7 @@
* address of plist.
* @return void
*/
-TIE_FUNC(void tie_push, tie_t *tie, TIE_3 **tlist, unsigned int tnum, void
*plist, unsigned int pstride)
+void TIE_VAL(tie_push)(tie_t *tie, TIE_3 **tlist, unsigned int tnum, void
*plist, unsigned int pstride)
{
unsigned int i;
Modified: brlcad/trunk/src/adrt/libtie/tie.h
===================================================================
--- brlcad/trunk/src/adrt/libtie/tie.h 2010-05-04 17:21:15 UTC (rev 38952)
+++ brlcad/trunk/src/adrt/libtie/tie.h 2010-05-04 20:16:07 UTC (rev 38953)
@@ -34,14 +34,14 @@
extern "C" {
#endif
- TIE_VAL(extern int tie_check_degenerate);
+TIE_VAL(extern int tie_check_degenerate);
#define tie_check_degenerate TIE_VAL(tie_check_degenerate)
- TIE_FUNC(void tie_init, tie_t *tie, unsigned int tri_num, unsigned int
kdmethod);
- TIE_FUNC(void tie_free, tie_t *tie);
- TIE_FUNC(void tie_prep, tie_t *tie);
- TIE_FUNC(void* tie_work, tie_t *tie, tie_ray_t *ray, tie_id_t *id, void
*(*hitfunc)(tie_ray_t*, tie_id_t*, tie_tri_t*, void *ptr), void *ptr);
- TIE_FUNC(void tie_push, tie_t *tie, TIE_3 **tlist, unsigned int tnum, void
*plist, unsigned int pstride);
+void TIE_VAL(tie_init)(tie_t *tie, unsigned int tri_num, unsigned int
kdmethod);
+void TIE_VAL(tie_free)(tie_t *tie);
+void TIE_VAL(tie_prep)(tie_t *tie);
+void* TIE_VAL(tie_work)(tie_t *tie, tie_ray_t *ray, tie_id_t *id, void
*(*hitfunc)(tie_ray_t*, tie_id_t*, tie_tri_t*, void *ptr), void *ptr);
+void TIE_VAL(tie_push)(tie_t *tie, TIE_3 **tlist, unsigned int tnum, void
*plist, unsigned int pstride);
/* backwards compatible macros */
#define tie_init TIE_VAL(tie_init)
Modified: brlcad/trunk/src/adrt/libtie/tie_define.h
===================================================================
--- brlcad/trunk/src/adrt/libtie/tie_define.h 2010-05-04 17:21:15 UTC (rev
38952)
+++ brlcad/trunk/src/adrt/libtie/tie_define.h 2010-05-04 20:16:07 UTC (rev
38953)
@@ -66,11 +66,9 @@
/* Type to use for floating precision */
#if TIE_PRECISION == TIE_SINGLE_PRECISION
# define tfloat float
-# define TIE_FUNC(x, args...) x##0 ( args )
# define TIE_VAL(x) x##0
#elif TIE_PRECISION == TIE_DOUBLE_PRECISION
# define tfloat double
-# define TIE_FUNC(x, args...) x##1 ( args )
# define TIE_VAL(x) x##1
#else
# error "Unknown precision"
Modified: brlcad/trunk/src/adrt/libtie/tie_kdtree.c
===================================================================
--- brlcad/trunk/src/adrt/libtie/tie_kdtree.c 2010-05-04 17:21:15 UTC (rev
38952)
+++ brlcad/trunk/src/adrt/libtie/tie_kdtree.c 2010-05-04 20:16:07 UTC (rev
38953)
@@ -767,7 +767,7 @@
**************** EXPORTED FUNCTIONS *************************
*************************************************************/
-TIE_FUNC(void tie_kdtree_free, tie_t *tie)
+void TIE_VAL(tie_kdtree_free)(tie_t *tie)
{
/* Free KDTREE Nodes */
/* prevent tie from crashing when a tie_free() is called right after a
tie_init() */
@@ -776,7 +776,7 @@
bu_free(tie->kdtree, "kdtree");
}
-TIE_FUNC(uint32_t tie_kdtree_cache_free, tie_t *tie, void **cache)
+uint32_t TIE_VAL(tie_kdtree_cache_free)(tie_t *tie, void **cache)
{
uint32_t size, mem;
@@ -809,7 +809,7 @@
return(size);
}
-TIE_FUNC(void tie_kdtree_cache_load, tie_t *tie, void *cache, uint32_t size)
+void TIE_VAL(tie_kdtree_cache_load)(tie_t *tie, void *cache, uint32_t size)
{
tie_kdtree_t *node = 0, *temp_node = 0, *stack[64];
tie_geom_t *geom = 0;
@@ -896,7 +896,7 @@
}
}
-TIE_FUNC(void tie_kdtree_prep, tie_t *tie)
+void TIE_VAL(tie_kdtree_prep)(tie_t *tie)
{
TIE_3 delta;
int already_built;
Modified: brlcad/trunk/src/adrt/libtie/tie_kdtree.h
===================================================================
--- brlcad/trunk/src/adrt/libtie/tie_kdtree.h 2010-05-04 17:21:15 UTC (rev
38952)
+++ brlcad/trunk/src/adrt/libtie/tie_kdtree.h 2010-05-04 20:16:07 UTC (rev
38953)
@@ -33,11 +33,11 @@
extern "C" {
#endif
- TIE_FUNC(void tie_kdtree_free, tie_t *tie);
- TIE_FUNC(uint32_t tie_kdtree_cache_free, tie_t *tie, void **cache);
- TIE_FUNC(void tie_kdtree_cache_load, tie_t *tie, void *cache, uint32_t
size);
- TIE_FUNC(void tie_kdtree_prep, tie_t *tie);
- TIE_VAL(extern tfloat TIE_PREC);
+void TIE_VAL(tie_kdtree_free)(tie_t *tie);
+uint32_t TIE_VAL(tie_kdtree_cache_free)(tie_t *tie, void **cache);
+void TIE_VAL(tie_kdtree_cache_load)(tie_t *tie, void *cache, uint32_t size);
+void TIE_VAL(tie_kdtree_prep)(tie_t *tie);
+TIE_VAL(extern tfloat TIE_PREC);
/* compatability macros */
#define tie_kdtree_free TIE_VAL(tie_kdtree_free)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits