#ifndef parse_h #define parse_h #include "rtl.h" class rtl_parse { public: rtl_parse( rtl_world* ); void parseScene( istream& ); int w, h; int mins, maxs; jColour bg; protected: virtual void parse( istream&, const char* ); rtl_world* scene; bool verbose; static const int pNull; static const int pIdentity; static const int pTranslate; static const int pScale; static const int pRotate; static const int pLookat; static const int pModelview; static const int pPush; static const int pPop; static const int pUnion; static const int pIntersection; static const int pDifference; static const int pEnd; static const int pSphere; static const int pCylinder; static const int pCone; static const int pInfCylinder; static const int pInfCone; static const int pBox; static const int pTorus; static const int pSuperEllipsoid; static const int pPlane; static const int pFloor; static const int pSoftObject; static const int pPolyhedron; static const int pMaterial; static const int pMatColour; static const int pTexTurbulence; static const int pTexCheckers; static const int pTexTiles; static const int pTextureMap; static const int pLight; static const int pSphericalLight; static const int pFOV; static const int pResolution; static const int pBackground; static const int pSamples; static const int pShadows; static const int pRecursion; static const int pVoxelMaxObjects; static const int pVoxelMaxDepth; static const int pUnknown; static const int pVerbose; int keyword( char* ); jFlt parseFlt( istream& ); jInt parseInt( istream& ); rtl_object* parseSoftObject( istream& ); rtl_object* parsePolyhedron( istream& ); rtl_material* parseMaterialParams( istream& ); rtl_material* parseMaterial( istream& ); }; #endif