view TaskManager/Test/test_render/polygon.h @ 268:2b7d631695ca draft

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 04 Jun 2009 00:00:09 +0900
parents 56db76a03294
children 59f4129a9562
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;
    char *name;
    char *parent_name;

    float *data;        //"vertex" and "normal" and "texture"
    float xyz[4];          // position
    float angle[4];        // angle
    float c_xyz[4];        // center of rotation
    float matrix[16];
    float *anim;
    int frame;         // anime frame num
    int texture_id; //texture id number
    struct texture_list texture_info;
    
    static SDL_Surface* texture_image; // pointer of this surface's texture

    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