objective c - Trying a tiny winy 3D classes for iPhone -
ok,
i'm trying save time creating generic classes draw objects in 3d space.
i created object3d class properties x, y, , z.
the thumbnail3d "son" of object3d using inheritance. vertex3d struct glfloat every coord.
the problem when try compile method initwithposition:( vertex3d *)vertex, , error is:
request member 'x' in not structure or union. request member 'y' in not structure or union. request member 'z' in not structure or union.
but, structure on import...
#import <uikit/uikit.h> #import <opengles/es2/gl.h>  @interface object3d : nsobject  {     glfloat x;     glfloat y;     glfloat z; }  @property  glfloat x; @property  glfloat y; @property  glfloat z;  -(void) render;  @end   the render still hardcoded
#import "thumbnail3d.h" #import "constantsandmacros.h" #import "openglcommon.h"  @implementation thumbnail3d  @synthesize width; @synthesize height;  -(void)render {     triangle3d  triangle[2];     triangle[0].v1 = vertex3dmake(0.0, 1.0, -3.0);     triangle[0].v2 = vertex3dmake(1.0, 0.0, -3.0);     triangle[0].v3 = vertex3dmake(-1.0, 0.0, -3.0);     triangle[1].v1 = vertex3dmake(-1.0, 0.0, -3.0);     triangle[1].v2 = vertex3dmake(1.0, 0.0, -3.0);     triangle[1].v3 = vertex3dmake(0.0, -1.0, -3.0);      glloadidentity();     glclearcolor(0.7, 0.7, 0.7, 1.0);     glclear(gl_color_buffer_bit | gl_depth_buffer_bit);     glenableclientstate(gl_vertex_array);     glcolor4f(1.0, 0.0, 0.0, 1.0);     glvertexpointer(3, gl_float, 0, &triangle);     gldrawarrays(gl_triangles, 0, 18);     gldisableclientstate(gl_vertex_array); }  -(void)initwithposition:(vertex3d *)vertex {     x = vertex.x;     y = vertex.y;     z = vertex.z; }  @end      
when read part
vertex3d struct glfloat every coord.
i think should write
-(void)initwithposition:(vertex3d *)vertex {   x = vertex->x;   y = vertex->y;   z = vertex->z; }   ...as vertex plain-old pointer c struct
Comments
Post a Comment