Panda3D
Public Member Functions | Static Public Member Functions

MeshDrawer2D Class Reference

This class allows the drawing of 2d objects - mainly based on quads and rectangles. More...

#include "meshDrawer2D.h"

Inheritance diagram for MeshDrawer2D:
TypedObject MemoryBase

List of all members.

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.

Detailed Description

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.


Constructor & Destructor Documentation

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().


Member Function Documentation

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.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations