ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/sm.h
(Generate patch)

Comparing ray/src/hd/sm.h (file contents):
Revision 3.1 by gwlarson, Wed Aug 19 17:45:23 1998 UTC vs.
Revision 3.3 by gwlarson, Mon Sep 14 10:33:46 1998 UTC

# Line 12 | Line 12
12   #include "rhd_sample.h"
13   #include "sm_stree.h"
14  
15 +
16   #ifndef TRUE
17   #define TRUE 1
18   #define FALSE 0
# Line 66 | Line 67 | typedef struct _TRI {
67   #define T_NTH_V(t,i)  ((t)->verts[(i)])
68   #define T_WHICH_V(t,i)     \
69           (T_NTH_V(t,0)==(i)?0:T_NTH_V(t,1)==(i)?1:T_NTH_V(t,2)==(i)?2:-1)
70 < #define T_NEXT_FREE(t) ((t)->verts[0])
71 < #define T_VALID_FLAG(t) ((t)->verts[1])
70 > #define T_NEXT_FREE(t) ((t)->nbrs[0])
71 > #define T_VALID_FLAG(t) ((t)->nbrs[1])
72   #define T_IS_VALID(t)  (T_VALID_FLAG(t)!=-1)
73   #define T_FLAGS 4
74   #define T_FLAG_BYTES T_FLAGS/8.0
# Line 154 | Line 155 | typedef struct _SM {
155  
156   #define SM_ALLOWED_VIEW_CHANGE(m) (SM_NUM_SAMP(m)/smDist_sum*SM_VIEW_FRAC)
157  
158 < #define SM_FOR_ALL_FLAGGED_TRIS(m,i,w,b) for(i=0,i=smNext_tri_flag_set(m,i,w,b);i < SM_TRI_CNT(m);i++,i=smNext_tri_flag_set(m,i,w,b))
158 > #define SM_FOR_ALL_FLAGGED_TRIS(m,i,w,b) for(i=smNext_tri_flag_set(m,0,w,b); \
159 > i < SM_TRI_CNT(m); i=smNext_tri_flag_set(m,i+1,w,b))
160  
161   #define SM_FOR_ALL_ACTIVE_TRIS(m,i) SM_FOR_ALL_FLAGGED_TRIS(m,i,T_ACTIVE_FLAG,0)
162   #define SM_FOR_ALL_NEW_TRIS(m,i) SM_FOR_ALL_FLAGGED_TRIS(m,i,T_NEW_FLAG,0)
163   #define SM_FOR_ALL_BASE_TRIS(m,i) SM_FOR_ALL_FLAGGED_TRIS(m,i,T_BASE_FLAG,0)
164 < #define SM_FOR_ALL_VALID_TRIS(m,i) for((i)=0,(i)=smNext_valid_tri(m,i);(i)< \
165 < SM_TRI_CNT(m); (i)++,(i)= smNext_valid_tri(m,i))
164 > #define SM_FOR_ALL_VALID_TRIS(m,i) for(i=smNext_valid_tri(m,0); \
165 > i < SM_TRI_CNT(m); i=smNext_valid_tri(m,i+1))
166  
167   #define SM_FOR_ALL_ACTIVE_FG_TRIS(m,i) SM_FOR_ALL_FLAGGED_TRIS(m,i,T_ACTIVE_FLAG,1)
168  
# Line 180 | Line 182 | t!=SM_NTH_TRI(sm,SM_NTH_VERT(sm,id)); t=smTri_next_ccw
182  
183   #define SM_BG_SAMPLE(sm,i)   (SM_NTH_W_DIR(sm,i)==-1)
184  
185 < #define SM_BG_TRI(sm,i)  (SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),0)) || \
185 > #define SM_BG_TRI(sm,i)  (SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),0)) && \
186 >                          SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),1)) && \
187 >                          SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),2)))
188 > #define SM_MIXED_TRI(sm,i)  (SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),0)) || \
189                            SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),1)) || \
190                            SM_BG_SAMPLE(sm,T_NTH_V(SM_NTH_TRI(sm,i),2)))
191  
# Line 199 | Line 204 | extern double smDist_sum;
204   #ifdef TEST_DRIVER
205   extern VIEW View;
206   extern VIEW Current_View;
207 < extern int Pick_tri,Picking;
207 > extern int Pick_tri,Picking,Pick_samp;
208   extern FVECT Pick_point[500],Pick_origin,Pick_dir;
209   extern FVECT Pick_v0[500],Pick_v1[500],Pick_v2[500];
210   extern FVECT P0,P1,P2;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines