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
00026
00027 #import <UIKit/UIKit.h>
00028
00029 #import "CCNode.h"
00030 #import "CCCamera.h"
00031 #import "ccTypes.h"
00032
00033 @class CCTexture2D;
00034 @class CCGrabber;
00035
00038 @interface CCGridBase : NSObject
00039 {
00040 BOOL active_;
00041 int reuseGrid_;
00042 ccGridSize gridSize_;
00043 CCTexture2D *texture_;
00044 CGPoint step_;
00045 CCGrabber *grabber_;
00046 BOOL isTextureFlipped_;
00047 }
00048
00050 @property (nonatomic,readwrite) BOOL active;
00052 @property (nonatomic,readwrite) int reuseGrid;
00054 @property (nonatomic,readonly) ccGridSize gridSize;
00056 @property (nonatomic,readwrite) CGPoint step;
00058 @property (nonatomic, retain) CCTexture2D *texture;
00060 @property (nonatomic, retain) CCGrabber *grabber;
00062 @property (nonatomic, readwrite) BOOL isTextureFlipped;
00063
00064 +(id) gridWithSize:(ccGridSize)gridSize texture:(CCTexture2D*)texture flippedTexture:(BOOL)flipped;
00065 +(id) gridWithSize:(ccGridSize)gridSize;
00066
00067 -(id) initWithSize:(ccGridSize)gridSize texture:(CCTexture2D*)texture flippedTexture:(BOOL)flipped;
00068 -(id)initWithSize:(ccGridSize)gridSize;
00069 -(void)beforeDraw;
00070 -(void)afterDraw:(CCNode*)target;
00071 -(void)blit;
00072 -(void)reuse;
00073
00074 -(void)calculateVertexPoints;
00075
00076 @end
00077
00079
00083 @interface CCGrid3D : CCGridBase
00084 {
00085 GLvoid *texCoordinates;
00086 GLvoid *vertices;
00087 GLvoid *originalVertices;
00088 GLushort *indices;
00089 }
00090
00092 -(ccVertex3F)vertex:(ccGridSize)pos;
00094 -(ccVertex3F)originalVertex:(ccGridSize)pos;
00096 -(void)setVertex:(ccGridSize)pos vertex:(ccVertex3F)vertex;
00097
00098 @end
00099
00101
00106 @interface CCTiledGrid3D : CCGridBase
00107 {
00108 GLvoid *texCoordinates;
00109 GLvoid *vertices;
00110 GLvoid *originalVertices;
00111 GLushort *indices;
00112 }
00113
00115 -(ccQuad3)tile:(ccGridSize)pos;
00117 -(ccQuad3)originalTile:(ccGridSize)pos;
00119 -(void)setTile:(ccGridSize)pos coords:(ccQuad3)coords;
00120
00121 @end