Panda3D
|
This class allows the drawing of 2d objects - mainly based on quads and rectangles. More...
#include "meshDrawer2D.h"
Public Member Functions | |
MeshDrawer2D () | |
Creates the MeshDrawer2D low level system. | |
~MeshDrawer2D () | |
Destroys the MeshDrawer2D low level system. | |
void | begin () |
Opens up the geom for drawing, dont forget to call MeshDrawer2D::end() | |
void | end () |
Finish the drawing and clearing off the remaining vertexes. | |
virtual TypeHandle | force_init_type () |
int | get_budget () |
Gets the total triangle budget of the drawer. | |
NodePath | get_root () |
Returns the root NodePath. | |
virtual TypeHandle | get_type () const |
void | quad_raw (LVector3f v1, LVector4f c1, LVector2f uv1, LVector3f v2, LVector4f c2, LVector2f uv2, LVector3f v3, LVector4f c3, LVector2f uv3, LVector3f v4, LVector4f c4, LVector2f uv4) |
Draws a 2d rectangle. | |
void | rectangle (float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color) |
Draws a 2d rectangle, that can be cliped. | |
void | rectangle_border (float x, float y, float w, float h, float r, float t, float l, float b, float tr, float tt, float tl, float tb, float u, float v, float us, float vs, LVector4f color) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture. | |
void | rectangle_border_tiled (float x, float y, float w, float h, float r, float t, float l, float b, float tr, float tt, float tl, float tb, float u, float v, float us, float vs, LVector4f color) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture. | |
void | rectangle_raw (float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color) |
void | rectangle_tiled (float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color) |
Draws a tiled rectangle, size of tiles is in us and vs. | |
void | set_budget (int budget) |
Sets the total triangle budget of the drawer. | |
void | set_clip (float x, float y, float w, float h) |
Sets clipping rectangle. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. |
This class allows the drawing of 2d objects - mainly based on quads and rectangles.
Alows clipping and serverl high level UI theme functions.
Definition at line 49 of file meshDrawer2D.h.
MeshDrawer2D::MeshDrawer2D | ( | ) | [inline] |
Creates the MeshDrawer2D low level system.
Definition at line 23 of file meshDrawer2D.I.
MeshDrawer2D::~MeshDrawer2D | ( | ) | [inline] |
Destroys the MeshDrawer2D low level system.
Definition at line 43 of file meshDrawer2D.I.
References NodePath::remove_node().
void MeshDrawer2D::begin | ( | ) |
Opens up the geom for drawing, dont forget to call MeshDrawer2D::end()
Definition at line 94 of file meshDrawer2D.cxx.
void MeshDrawer2D::end | ( | ) |
Finish the drawing and clearing off the remaining vertexes.
Definition at line 119 of file meshDrawer2D.cxx.
References GeomVertexWriter::add_data3f().
int MeshDrawer2D::get_budget | ( | ) | [inline] |
Gets the total triangle budget of the drawer.
Definition at line 77 of file meshDrawer2D.I.
NodePath MeshDrawer2D::get_root | ( | ) | [inline] |
Returns the root NodePath.
Definition at line 56 of file meshDrawer2D.I.
static void MeshDrawer2D::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from TypedObject.
Definition at line 135 of file meshDrawer2D.h.
References TypedObject::init_type().
void MeshDrawer2D::quad_raw | ( | LVector3f | v1, |
LVector4f | c1, | ||
LVector2f | uv1, | ||
LVector3f | v2, | ||
LVector4f | c2, | ||
LVector2f | uv2, | ||
LVector3f | v3, | ||
LVector4f | c3, | ||
LVector2f | uv3, | ||
LVector3f | v4, | ||
LVector4f | c4, | ||
LVector2f | uv4 | ||
) | [inline] |
Draws a 2d rectangle.
Ignores the cliping rectangle
Definition at line 101 of file meshDrawer2D.I.
References GeomVertexWriter::add_data2f(), GeomVertexWriter::add_data3f(), and GeomVertexWriter::add_data4f().
void MeshDrawer2D::rectangle | ( | float | x, |
float | y, | ||
float | w, | ||
float | h, | ||
float | u, | ||
float | v, | ||
float | us, | ||
float | vs, | ||
LVector4f | color | ||
) | [inline] |
Draws a 2d rectangle, that can be cliped.
Definition at line 149 of file meshDrawer2D.I.
Referenced by rectangle_border(), and rectangle_tiled().
void MeshDrawer2D::rectangle_border | ( | float | x, |
float | y, | ||
float | w, | ||
float | h, | ||
float | r, | ||
float | t, | ||
float | l, | ||
float | b, | ||
float | tr, | ||
float | tt, | ||
float | tl, | ||
float | tb, | ||
float | u, | ||
float | v, | ||
float | us, | ||
float | vs, | ||
LVector4f | color | ||
) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture.
Definition at line 200 of file meshDrawer2D.cxx.
References rectangle().
void MeshDrawer2D::rectangle_border_tiled | ( | float | x, |
float | y, | ||
float | w, | ||
float | h, | ||
float | r, | ||
float | t, | ||
float | l, | ||
float | b, | ||
float | tr, | ||
float | tt, | ||
float | tl, | ||
float | tb, | ||
float | u, | ||
float | v, | ||
float | us, | ||
float | vs, | ||
LVector4f | color | ||
) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture.
Definition at line 232 of file meshDrawer2D.cxx.
References rectangle_tiled().
void MeshDrawer2D::rectangle_tiled | ( | float | x, |
float | y, | ||
float | w, | ||
float | h, | ||
float | u, | ||
float | v, | ||
float | us, | ||
float | vs, | ||
LVector4f | color | ||
) |
Draws a tiled rectangle, size of tiles is in us and vs.
Definition at line 147 of file meshDrawer2D.cxx.
References rectangle().
Referenced by rectangle_border_tiled().
void MeshDrawer2D::set_budget | ( | int | budget | ) | [inline] |
Sets the total triangle budget of the drawer.
Definition at line 66 of file meshDrawer2D.I.
void MeshDrawer2D::set_clip | ( | float | x, |
float | y, | ||
float | w, | ||
float | h | ||
) | [inline] |
Sets clipping rectangle.
Definition at line 87 of file meshDrawer2D.I.