home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WW3DKit / RIBIlluminate.m < prev    next >
Encoding:
Text File  |  1995-03-22  |  1.2 KB  |  77 lines

  1.  
  2. #import "RIBIlluminate.h"
  3.  
  4. @implementation RIBIlluminate
  5.  
  6. + initialize { return [RIBIlluminate setVersion:1], self; }
  7.  
  8. - init
  9. {
  10.   [super init];
  11.  
  12.   token = NULL;
  13.   flag = 0;
  14.   
  15.   return self;
  16. }
  17.  
  18. - setToken:(RtToken)newToken flag:(RtBoolean)newFlag
  19. {
  20.   token = newToken;
  21.   flag = newFlag;
  22.  
  23.   return self;
  24. }
  25.  
  26. - (RtToken)token { return token; }
  27. - (RtBoolean)flag { return flag; }
  28.  
  29. - renderSelf:(WW3DCamera *)camera startingAt:(RtFloat)shutterOpenTime endingAt:(RtFloat)shutterCloseTime
  30. {
  31.   RiIlluminate(token, flag);
  32.  
  33.   return self;
  34. }
  35.  
  36. - writeEve:(NXStream *)stream atTabLevel:(int)tab
  37. {
  38.    int  i;
  39.  
  40.  
  41.    for (i = 0; i < tab; i++)
  42.    {  NXPrintf(stream, "\t");
  43.    }
  44.    NXPrintf(stream, "Illuminate {%s} %d;", token, flag); 
  45.    return self;
  46. }
  47.  
  48. #define typeVector "*c"
  49. #define typeValues &token, &flag
  50.  
  51. - read:(NXTypedStream*)stream 
  52. {
  53.     int version;
  54.     [super read:stream];
  55.  
  56.     version = NXTypedStreamClassVersion(stream,"RIBIlluminate");
  57.     if (version == 0) NXReadTypes(stream, "i", &version), version=1;
  58.     if (version == 1)
  59.     {  NXReadTypes(stream, typeVector, typeValues);
  60.     } 
  61.     else 
  62.     {
  63.     }
  64.     return self;
  65. }
  66.  
  67. - write:(NXTypedStream*)stream 
  68. {
  69.     [super write:stream];
  70.  
  71.     NXWriteTypes(stream, typeVector, typeValues);
  72.  
  73.     return self;
  74. }
  75.  
  76. @end
  77.