This is D3View.h in view mode; [Download] [Up]
/* 3DView.h Copyright 1993 Steve Ludtke */
/* This is a N3DCamera subclass which displays molecules. */
/* DrawPS handles the Quick mode */
#import <3Dkit/N3DCamera.h>
void *timer; /* timer for spinning, etc ... */
void itstime(DPSTimedEntry entry,double now,id call);
@interface D3View:N3DCamera
{
id mode; /* mouse mode selector (unused)*/
id controller; /* points to MolObj */
id selView; /* we need this for mouse select mode */
id shape; /* shape for rendering molecules */
id ambLight; /* ambient light source */
id aLight; /* directional light source */
id animSpin; /* spin paramaters */
id animConf; /* conf. to anim parms */
id flagSel; /* flag selector */
id chgCol; /* color atoms by point charge */
id mangS; /* angle/dist sliders */
id mangT; /* angle/dist text fields */
id AICV; /* icon view */
id AIMG,AIMGS[8]; /* images for animation of icon */
id BSSR;
id winSize; /* window size fields */
float chi,theta,phi,dchi,dtheta; /* viewing angles/speeds */
float lchi,ltheta; /* light angle */
short Rmode,Rflags; /* display mode/flags */
char initflag; /* flag so timer knows the first time it's called */
Molecule *mol; /* As usual, this points to the molecule array */
int nmol; /* # of molecules */
int minshape; /* fitting (unused) */
struct ELINFO *elinfo; /* element info table */
int busy; /* busy flag to prefent server crash from QRM bug */
int useColor; /* color display flag */
char *bpath; /* path to MolViewer.app */
int animicon; /* animate icon flag */
NXPoint Ior1,Ior2; /* icon animation ref points */
float path[3000]; /* user path data */
int pathc;
char ops[1500];
short Mmode; /* mouse mode 0,1 or 2 */
RtPoint fromP,toP; /* stores current viewpoint */
}
-initFrame:(NXRect *)myrect;
-free;
-setMmode:sender; /* set mouse mode */
/* zero commands for each mouse mode */
-zeroRot:sender;
-zeroXlate:sender;
-deSel:sender;
/* select the atom closest to x,y */
-selectAt:(float)x :(float)y :(int) flag;
/* we don't want to print RIB in Quick mode */
-(BOOL)canPrintRIB;
/* render spheres for quick mode */
-createQuick:(int)n;
/* rescales coord. system after size chaged */
-superviewSizeChanged:(const NXSize *)oldsize;
/* change viewing angle */
-setAng:(float)chi :(float)theta :(float)Phi;
/* used to do mouse spinning */
-mouseDown:(NXEvent *)event;
/* points to controller object, usually set with IB instead */
-setcontroller:del;
/* called by timer to do one time step */
-step;
-(int)acceptsFirstMouse;
/* display new data */
-zoom:sender;
/* toggles dchi=0 on and off */
-togFreeze:sender;
/* dump .rib file from 3d view */
- dumpRib:sender;
/* currently does nothing */
- renderSelf:(RtToken)context;
/* sets intensity of ambient light */
- setAmbLight:sender;
/* sets intensity of distant light */
- setLight:sender;
/* sets chi of distant light */
- setLightX:sender;
/* sets theta of distant light */
- setLightY:sender;
/* sets rendering mode */
- setMode:sender;
/* prints window with white background */
- printPS:sender;
/* set drawing flags */
- setFlags:sender;
-setData:(Molecule *)Mol :(int)Nmol :(struct ELINFO *)Elinfo;
/* set camera<->molecule distance */
-setEDist:sender;
-setAngS:sender;
-setAngT:sender;
/* generate animation */
-ribRot:sender;
-ribConform:sender;
-ribConfTo:sender;
/* used in fitting */
-togMin:sender;
-drawPS:(NXRect *)rects :(int)rectCount;
/* eps dump of screen */
-dumpEPS:sender;
/* change color display flag */
-setColor:sender;
/* initialization stuff that must wait for everything to be loaded */
- appDidInit: sender;
/* dump a POV compatible file (used to be dkb) */
-dkbDump:sender;
/* supposed to help with QRM bug */
- flushRIB;
-newBSSR:sender;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.