home *** CD-ROM | disk | FTP | other *** search
- /* transfor.h
- * RasMol2 Molecular Graphics
- * Roger Sayle, October 1994
- * Version 2.5
- */
-
- #define GroupAttr 0x00
- #define ChainAttr 0x01
- #define TempAttr 0x02
- #define ChargeAttr 0x03
-
- #define MaskColourFlag 0x01
- #define MaskRadiusFlag 0x02
- #define MaskBothFlag 0x03
-
- #define RibColInside 0x01
- #define RibColOutside 0x02
- #define RibColBoth 0x03
-
- #ifdef EIGHTBIT
- #define DefaultAmbient 0.6
- #define DefaultColDepth 16
- #else
- #define DefaultAmbient 0.05
- #define DefaultColDepth 32
- #endif
-
-
- #define MAXSHADE 32
- typedef struct {
- Long refcount;
- unsigned char r;
- unsigned char g;
- unsigned char b;
- } ShadeDesc;
-
-
- #ifdef IBMPC
- #define Colour2Shade(x) ((int)((x)-3)/ColourDepth)
- #define Shade2Colour(x) ((x)*ColourDepth+3)
- #define BackCol 0
- #define BoxCol 1
- #define LabelCol 2
- #endif
-
- #ifdef APPLEMAC
- #define Colour2Shade(x) ((int)((x)-4)/ColourDepth)
- #define Shade2Colour(x) ((x)*ColourDepth+4)
- #define BackCol 1
- #define BoxCol 2
- #define LabelCol 3
- #endif
-
- #if !defined(IBMPC) && !defined(APPLEMAC)
- #define Colour2Shade(x) ((int)((x)-8)/ColourDepth)
- #define Shade2Colour(x) ((x)*ColourDepth+8)
- #define BackCol 5
- #define BoxCol 6
- #define LabelCol 7
- #endif
-
-
- #ifdef TRANSFORM
- ShadeDesc Shade[MAXSHADE];
- Real RotX[3],RotY[3],RotZ[3];
- Real MatX[3],MatY[3],MatZ[3];
- Real InvX[3],InvY[3],InvZ[3];
- Long OrigCX,OrigCY,OrigCZ;
- Long CenX, CenY, CenZ;
-
- Real Ambient;
- Real Scale,MaxZoom;
- Real DScale,IScale;
- Long SideLen,Offset;
- Card WorldRadius,WorldSize;
- int XOffset,YOffset,ZOffset;
- int FakeSpecular,SpecPower;
- int ColourDepth,ColourMask;
- int BackR,BackG,BackB;
- int LabR,LabG,LabB;
- int BoxR,BoxG,BoxB;
- int UseLabelCol;
- int UseScreenClip;
- int ZoomRange;
-
- int Hydrogens,HetaGroups;
- int DrawAtoms,MaxAtomRadius;
- int DrawBonds,MaxBondRadius;
- int DrawRibbon;
- int ZoneBoth;
-
- #else
- extern ShadeDesc Shade[MAXSHADE];
- extern Real RotX[3],RotY[3],RotZ[3];
- extern Real MatX[3],MatY[3],MatZ[3];
- extern Real InvX[3],InvY[3],InvZ[3];
- extern Long OrigCX, OrigCY, OrigCZ;
- extern Long CenX, CenY, CenZ;
-
- extern Real Ambient;
- extern Real Scale,MaxZoom;
- extern Real DScale,IScale;
- extern Long SideLen,Offset;
- extern Card WorldRadius,WorldSize;
- extern int XOffset,YOffset,ZOffset;
- extern int ColourDepth,ColourMask;
- extern int FakeSpecular,SpecPower;
- extern int BackR,BackG,BackB;
- extern int LabR,LabG,LabB;
- extern int BoxR,BoxG,BoxB;
- extern int UseLabelCol;
- extern int UseScreenClip;
- extern int ZoomRange;
-
- extern int Hydrogens,HetaGroups;
- extern int DrawAtoms,MaxAtomRadius;
- extern int DrawBonds,MaxBondRadius;
- extern int DrawRibbon;
- extern int ZoneBoth;
-
- #ifdef FUNCPROTO
- void SetRadiusValue( int );
- void SetRadiusTemperature();
- void SetVanWaalRadius();
- void DisableSpacefill();
- void EnableWireFrame( int, int );
- void EnableBackBone( int, int );
- void SetHBondStatus( int, int, int );
- void SetRibbonStatus( int, int, int );
- void DisableWireFrame();
- void DisableBackBone();
- void RestrictZone( int );
- void SelectZone( int );
-
- int IsCPKColour( Atom __far * );
- int IsVDWRadius( Atom __far * );
-
- void DefineColourMap();
- void ResetColourMap();
- void ColourBackNone();
- void ColourBondNone();
- void ColourHBondNone( int );
- void ColourHBondType();
- void ColourRibbonNone( int );
- void ColourBackAttrib( int, int, int );
- void ColourBondAttrib( int, int, int );
- void ColourHBondAttrib( int, int, int, int );
- void ColourRibbonAttrib( int, int, int, int );
- void ColourDotsAttrib( int, int, int );
- void ColourDotsPotential();
- void MonoColourAttrib( int, int, int );
- void ScaleColourAttrib( int );
- void CPKColourAttrib();
- void AminoColourAttrib();
- void ShapelyColourAttrib();
- void StructColourAttrib();
- void UserMaskAttrib( int );
-
- void DetermineClipping();
- void InitialiseTransform();
- void InitialTransform();
- void PrepareTransform();
- void ReviseInvMatrix();
- void ApplyTransform();
- void ResetTransform();
-
- #else /* non-ANSI C compiler */
- void SetRadiusValue();
- void SetRadiusTemperature();
- void SetVanWaalRadius();
- void DisableSpacefill();
- void EnableWireFrame();
- void EnableBackBone();
- void SetHBondStatus();
- void SetRibbonStatus();
- void DisableWireFrame();
- void DisableBackBone();
- void RestrictZone();
- void SelectZone();
-
- int IsCPKColour();
- int IsVDWRadius();
-
- void DefineColourMap();
- void ResetColourMap();
- void ColourBackNone();
- void ColourBondNone();
- void ColourHBondNone();
- void ColourHBondType();
- void ColourRibbonNone();
- void ColourBackAttrib();
- void ColourBondAttrib();
- void ColourHBondAttrib();
- void ColourRibbonAttrib();
- void ColourDotsAttrib();
- void ColourDotsPotential();
- void MonoColourAttrib();
- void ScaleColourAttrib();
- void CPKColourAttrib();
- void AminoColourAttrib();
- void ShapelyColourAttrib();
- void StructColourAttrib();
- void UserMaskAttrib();
-
- void DetermineClipping();
- void InitialiseTransform();
- void InitialTransform();
- void PrepareTransform();
- void ReviseInvMatrix();
- void ApplyTransform();
- void ResetTransform();
-
- #endif
- #endif
-
-