12 |
|
#include "rhd_sample.h" |
13 |
|
#include "sm_stree.h" |
14 |
|
|
15 |
+ |
|
16 |
|
#ifndef TRUE |
17 |
|
#define TRUE 1 |
18 |
|
#define FALSE 0 |
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 |
|
|
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 |
|
|
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; |