cocos2d for iPhone 1.0.0
2D engine for iOS and OS X
/Users/rquesada/progs/cocos2d-iphone/cocos2d/CCGrid.h
00001 /*
00002  * cocos2d for iPhone: http://www.cocos2d-iphone.org
00003  *
00004  * Copyright (c) 2009 On-Core
00005  *
00006  * Permission is hereby granted, free of charge, to any person obtaining a copy
00007  * of this software and associated documentation files (the "Software"), to deal
00008  * in the Software without restriction, including without limitation the rights
00009  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00010  * copies of the Software, and to permit persons to whom the Software is
00011  * furnished to do so, subject to the following conditions:
00012  * 
00013  * The above copyright notice and this permission notice shall be included in
00014  * all copies or substantial portions of the Software.
00015  * 
00016  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00017  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00018  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00019  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00020  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00021  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00022  * THE SOFTWARE.
00023  *
00024  */
00025 
00026 
00027 #import <Foundation/Foundation.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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines

cocos2d for iPhone API Reference - Generated using Doxygen 1.7.4