view TaskManager/Test/test_render/polygon.h @ 349:51ffd144f62c

fix hash_regist
author admin@mcbk.cr.ie.u-ryukyu.ac.jp
date Fri, 10 Jul 2009 16:06:15 +0900
parents d6338bb6db87
children b89ba1d96fff
line wrap: on
line source

#ifndef INCLUDED_POLYGON
#define INCLUDED_POLYGON

#ifndef INCLUDED_VIEWER
#  include "viewer.h"
#endif

#include <libxml/parser.h>

#ifndef INCLUDED_POLYGON_PACK
#  include "polygon_pack.h"
#endif

#ifndef INCLUDED_SPAN_PACK
#  include "SpanPack.h"
#endif

#ifndef INCLUDED_TEXTURE
#  include "texture.h"
#endif

class Polygon {
public:
    long long size;
    const char *name;
    const char *parent_name;

    //float *data;    //"vertex" and "normal" and "texture"
    float *coord_xyz; // vertex coordinate array
    float *coord_tex; // texture coordinate array
    float *normal;    // normal vector array
    float xyz[4];     // position
    float angle[4];   // angle
    float c_xyz[4];   // center of rotation
    float matrix[16];
    float *anim;
    int texture_id; //texture id number
    struct texture_list texture_info;

    SDL_Surface* texture_image;

    Polygon(void);

    void parameter_change(char *name, float x, float y, float z, float ax, float ay, float az);
    //void load_texture(char *image_name);
    //void draw(float *stack);
    //void draw(SceneGraphPack *sgp);
    //void draw(PolygonPack *pp);
    //void draw(SpanPack *sp);
    Uint32 get_rgb(int tx, int ty);

public:
    void position_init(void);

    void tree_draw();
    void pickup_coordinate(char *cont);
    void pickup_normal(char *cont);
    void pickup_model(char *cont);
    void pickup_texture(char *cont);
};

#endif