layer1/View.h (61 lines of code) (raw):

/* A* ------------------------------------------------------------------- B* This file contains source code for the PyMOL computer program C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific. D* ------------------------------------------------------------------- E* It is unlawful to modify or remove this copyright notice. F* ------------------------------------------------------------------- G* Please see the accompanying LICENSE file for further information. H* ------------------------------------------------------------------- I* Additional authors of this source file include: -* -* -* Z* ------------------------------------------------------------------- */ #ifndef _H_View #define _H_View #include"os_python.h" #include "os_gl.h" #include"Ray.h" #include"Block.h" typedef struct CViewElem { int matrix_flag; /* homogenous transformation, column-major for OpenGL compatibility */ double matrix[16]; int pre_flag; /* pre-tranformation translation */ double pre[3]; int post_flag; /* post-transformation translation */ double post[3]; int clip_flag; /* clip planes (only useful for top-level views... only applied through Scene) */ float front, back; int ortho_flag; float ortho; int state_flag; /* only applies to object views */ int state; int view_mode; /* 0 = relative/subordinate, 1 = absolute/top-level */ int specification_level; int timing_flag; double timing; int scene_flag; /* only applies to main movie view */ int scene_name; /* lexicon key */ int power_flag; float power; int bias_flag; float bias; } CViewElem; PyObject *ViewElemAsPyList(PyMOLGlobals * G, CViewElem * view); int ViewElemFromPyList(PyMOLGlobals * G, PyObject * list, CViewElem * view); int ViewElemVLAFromPyList(PyMOLGlobals * G, PyObject * list, CViewElem ** vla, int nFrame); PyObject *ViewElemVLAAsPyList(PyMOLGlobals * G, CViewElem * vla, int nFrame); void ViewElemArrayPurge(PyMOLGlobals * G, CViewElem * view, int nFrame); void ViewElemCopy(PyMOLGlobals * G, const CViewElem * src, CViewElem * dst); typedef struct CView { PyMOLGlobals *G; int NView; CViewElem *View; } CView; typedef int CViewIterator; CView *ViewNew(PyMOLGlobals * G); void ViewFree(CView * I); CViewIterator ViewGetIterator(CView * I); int ViewIterate(CView * I, CViewIterator * iter, CRay * ray, int at_least_once); int ViewElemSmooth(CViewElem * first, CViewElem * last, int window, int loop); int ViewElemInterpolate(PyMOLGlobals * G, CViewElem * first, CViewElem * last, float power, float bias, int simple, float linearity, int hand, float cut); void ViewElemDraw(PyMOLGlobals *G, CViewElem * src, BlockRect *rect, int frames, const char *title, CGO *orthoCGO); #define cViewElemModifyInsert 1 #define cViewElemModifyDelete -1 #define cViewElemModifyMove 2 #define cViewElemModifyCopy 3 int ViewElemModify(PyMOLGlobals *G, CViewElem **handle, int action, int index, int count, int target); int ViewElemXtoFrame(BlockRect *rect, int frames, int x, int nearest); void ViewElemDrawBox(PyMOLGlobals *G, BlockRect *rect,int first, int last, int frames, float *color4, int fill, CGO *orthoCGO); #endif