00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfIndexBase_h_
00026 #define _CIvfIndexBase_h_
00027
00028 #include <ivf/IvfBase.h>
00029
00030 #define IVF_IDX_TRIANGLES 0
00031 #define IVF_IDX_QUADS 1
00032
00033 IvfSmartPointer(CIvfIndexBase);
00034
00038 class IVF_API CIvfIndexBase : public CIvfBase {
00039 private:
00040 int m_topology;
00041 public:
00043 CIvfIndexBase();
00044
00046 virtual ~CIvfIndexBase();
00047
00048 IvfClassInfo("CIvfIndexBase",CIvfBase);
00049
00051 virtual long getIndex(long pos);
00052
00054 virtual long getSize();
00055
00057 virtual void setSize(int size);
00058
00060 virtual void clear();
00061
00068 virtual void createLinear(long size);
00069
00076 virtual void createLinear(long start, long size);
00077
00084 virtual void createConstant(long value, long size);
00085
00087 virtual void assignFrom(CIvfIndexBase* idx);
00088
00090 virtual void assignTo(CIvfIndexBase* idx);
00091
00093 virtual void addArray(long* i, long size);
00094
00096 void add(long i1, long i2, long i3, long i4, long i5);
00097
00099 void add(long i1, long i2, long i3, long i4);
00100
00102 void add(long i1, long i2, long i3);
00103
00105 void add(long i1, long i2);
00106
00108 void add(long idx);
00109
00110 virtual void addLast(long idx);
00111
00118 void setTopology(int topology);
00119
00121 int getTopology();
00122 void setIndex(long pos, long value);
00123 };
00124
00125 #endif