Main Page Class Hierarchy Compound List File List Compound Members File Members

SceneLang.h

Go to the documentation of this file.
00001 /*
00002 File: SceneLang.h
00003 
00004 Function: Allows run-time definition of scenes in the standard
00005 imperative manner.
00006 
00007 Author(s): Andrew Willmott
00008 
00009 Copyright: (c) 1995-2000, Andrew Willmott
00010 */
00011 
00012 #ifndef __SceneLang__
00013 #define __SceneLang__
00014 
00015 #include "gcl/Geometry.h"
00016 #include "gcl/Scene.h"
00017 #include "gcl/SLLibrary.h"
00018 
00019 Void slInit();
00020 // Call before using any other sl<function> calls
00021 
00022 scObject *slCurrent(); 
00024 scScenePtr slCurrentGroup(); 
00026 
00027 Bool slObjectExists(const Char *name);
00028 
00029 scPrimitive *slObject(const Char *name);
00030 scPrimitive *slObject(scPrimitive *object);
00031 
00032 scPrimitive *slObjectFile(StrConst filename);
00033 Void slAttribute(scAttribute *attrPtr);
00034 Void slEndAttribute(Int attr);
00035 
00036 scScenePtr slBeginObject(const Char *name);
00037 Void slBeginObject(scScenePtr object);
00038 Void slEndObject();
00039 
00040 Void slPointList();
00041 Int slPoint(const Point &p);
00042 
00043 Void slColourList();
00044 Int slColour(const Colour &c);
00045 
00046 Void slNormalList();
00047 Int slNormal(const Vector &n);
00048 
00049 Void slCoordList();
00050 Int slCoord(const Coord &c);
00051 Void slCoords(const CoordList &cl);
00052 
00053 Void slPointIndexList();
00054 Void slColourIndexList();
00055 Void slCoordIndexList();
00056 Void slNormalIndexList();
00057 
00058 Void slPointIndex(Int i);
00059 Void slColourIndex(Int i);
00060 Void slNormalIndex(Int i);
00061 Void slCoordIndex(Int i);
00062 
00063 Void slPointIndexes(const IndexList &il);
00064 Void slColourIndexes(const IndexList &il);
00065 Void slNormalIndexes(const IndexList &il);
00066 Void slCoordIndexes(const IndexList &il);
00067 
00068 Void slBeginFaces();
00069 Void slFace();
00070 Void slEndFaces();
00071 
00072 Void slEmittance(const Colour &c);
00073 Void slTexture(StrConst filename);
00074 
00075 Void slPoly();
00076 Void slCamera();
00077 Void slTransform(const Transform &t);
00078 
00079 Void slApply(const Transform &t);
00080 
00081 scAttribute slGetAttribute(Int attr);
00082 scScenePtr slGetObject(Char* name);
00083 
00084 Void slAddToLibrary(scGroup *newGroup);
00085 SLLibrary *slSwapLibrary(SLLibrary *newLib);
00086 Void slSetLibrary(SLLibrary *library);
00087 SLLibrary *slGetLibrary();
00088 
00089 Void slIndex(scAttributeID id, Int i);
00090 Void slIndexList(scAttributeID id);
00091 
00092 Void slMeshType(RenderStyle renStyle);
00093 
00094 SLContext *slGetContext();
00095  #define SL_GET(X) ((sc ## X *) slGetContext()->Get(a ## X))
00096 
00097 /*
00098 Example:
00099 
00100 slPointList(); slPoint(a); slPoint(b); slPoint(c); slPoint(d);
00101 slBeginFaces();
00102 slIndexes(Indexes(0, 1, 2, IDX_END));
00103 slFace();
00104 slIndexes(Indexes(2, 3, 0, IDX_END));
00105 slFace();
00106 slEndFaces();
00107 */
00108 
00109 
00110 #endif

Generated at Sat Aug 5 00:17:03 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000

AltStyle によって変換されたページ (->オリジナル) /