home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright (c) 1991, 1992 by NeXT Computer, Inc as an unpublished work.
- All rights reserved.
- */
-
- #import "N3DShape.h"
- #import <ri/ri.h>
-
- #import <appkit/color.h>
-
- @interface N3DLight : N3DShape
- {
- RtToken lightHandle;
- N3DLightType type; /* one of Ambient, Point, Distant, Spot */
- RtPoint from, to;
- NXColor color;
- RtFloat intensity, coneAngle, coneDelta, beamDistribution;
- struct {
- unsigned int global : 1; /* turned on by N3DCamera */
- unsigned int on : 1;
- } lightFlags;
- RtColor _rmColor;
- void *_N3Dlprivate;
- }
-
- - init;
-
- /* These next 4 methods are shorthand methods for the built-in light types;
- they only affect the values appropriate for the particular light. */
- - makeAmbientWithIntensity:(RtFloat)i;
- - makePointFrom:(RtPoint)pf intensity:(RtFloat)i;
- - makeDistantFrom:(RtPoint)pf to:(RtPoint)pt intensity:(RtFloat)i;
- - makeSpotFrom:(RtPoint)pf to:(RtPoint)pt
- coneAngle:(RtFloat)ca coneDelta:(RtFloat)cd
- beamDistribution:(RtFloat)bd
- intensity:(RtFloat)i;
-
-
- - renderSelf:(N3DCamera *)camera;
- - renderGlobal:(N3DCamera *)camera;
-
- - setGlobal:(BOOL)flag;
- - (BOOL)isGlobal;
- - switchLight:(BOOL)onOff;
- - setType:(N3DLightType)aType;
- - (N3DLightType)type;
- - setFrom:(RtPoint)pf;
- - setFrom:(RtPoint)pf to:(RtPoint)pt;
- - getFrom:(RtPoint *)pf to:(RtPoint *)pt;
- - setColor:(NXColor)c;
- - (NXColor)color;
- - setIntensity:(RtFloat)i;
- - (RtFloat)intensity;
- - setConeAngle:(RtFloat)ca coneDelta:(RtFloat)cd beamDistribution:(RtFloat)bd;
- - getConeAngle:(RtFloat *)cap coneDelta:(RtFloat *)cdp
- beamDistribution:(RtFloat *)bdp;
-
- - awake;
- - read:(NXTypedStream *)stream;
- - write:(NXTypedStream *)stream;
-
- @end
-