//------------------------------------------------------------
// $Id: PEpmarray.h,v 1.1.1.1 1999/11/25 06:26:09 yamauchi Exp $ 
//------------------------------------------------------------
//	PEpmarray.h for pm_array
//	Copyright (C) 1997--1999 YAMAUCHI Hitoshi 山内 斉
//------------------------------------------------------------
// not defined USE_PMARRAY 
//	Not use pm_array 
// 	pm_change_area, pm_change_stat 関数は存在しなくなる
//------------------------------
#ifndef _PEpmarray_h
#define _PEpmarray_h 1

//------------------------------------------------------------
// for program marker array (for SP2)
//------------------------------------------------------------
enum pm_proc_area {
    PA_radiosity_e,		// program area radiosity
    PA_prepshade_e,		// program area prepare shading 
    PA_raytrace_e,		// program area raytracing
    PA_sync_wait_e,		// program syncronizing waiting
    PA_sync_done_e		// program syncronizing done
};
enum pm_proc_stat {
    PC_makeHC_e,		// processing make hemi-cube
    PC_proc_ray_e,		// ray
    PC_busy_wait_e,		// busy wait(送信待ち)
    PC_prec_intensity_e,	// intensity calcration
    PC_idle_e			// idle
};

#ifndef USE_PMARRAY
inline void pm_change_stat(enum pm_proc_stat stat)
{
    // void func
    return;    stat = stat; // for Wall
}

inline void pm_change_area(enum pm_proc_area procarea)
{
    // void func
    return;    procarea = procarea; // for Wall
}

inline void pm_raynum(int raynum)
{
    // void func
    return;    raynum = raynum;	// for Wall
}

//------------------------------
// defined USE_PMARRAY 
//------------------------------
#else
extern void pm_change_stat(enum pm_proc_stat stat);
extern void pm_change_area(enum pm_proc_area procarea);
extern void pm_raynum(int raynum);
#endif				// #ifndef USE_PMARRAY

#endif				// #ifndef _PEpmarray_h
