00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * George ElKoura 00008 * Side Effects 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: GDT Library. (Geo Delta) 00015 * 00016 * COMMENTS: A Token describes changes to a gdp attribute or position, 00017 * on points, primitives or vertices. 00018 * 00019 */ 00020 #ifndef __GDT_Token_h__ 00021 #define __GDT_Token_h__ 00022 00023 #include "GDT_API.h" 00024 #include <fstream.h> 00025 #include <iostream.h> 00026 00027 class GEO_Detail; 00028 class GDT_TokenList; 00029 class GDT_JSON; 00030 class UT_IStream; 00031 class UT_JSONParser; 00032 00033 // This is the base class for all tokens. 00034 class GDT_API GDT_Token 00035 { 00036 public: 00037 GDT_Token() {} 00038 GDT_Token(const GDT_Token &) {} 00039 virtual ~GDT_Token() {} 00040 00041 virtual void applyDeltas(const GDT_TokenList &list, 00042 GEO_Detail &gdp, 00043 bool inverse=false) const = 0; 00044 00045 virtual unsigned int entries() const = 0; 00046 virtual void resize(unsigned int size) = 0; 00047 00048 virtual int save(ostream &os, int binary = 0) const = 0; 00049 virtual bool legacyLoad(UT_IStream &is) = 0; 00050 00051 virtual bool jsonLoadDelta(UT_JSONParser &p, const char *name) = 0; 00052 virtual bool load(UT_JSONParser &p, const GDT_JSON &json); 00053 }; 00054 00055 #endif
1.5.9