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