# MeshDrawer

from pandac.PandaModules import MeshDrawer

Class : MeshDrawer
Description :

## Inheritance:

MeshDrawer: TypedObject
TypedObject: MemoryBase
MemoryBase:

## Methods of MeshDrawer:

MeshDrawer (Constructor)
begin
billboard
blendedParticle
crossSegment
end
explosion
geometry
getBudget
getClassType
getPlateSize
getRoot
linkSegment
linkSegmentEnd
particle
segment
setBudget
setPlateSize
stream
tri
unevenSegment

## Methods of TypedObject:

getClassType
getType
getTypeIndex
isExactType
isOfType

MeshDrawer MeshDrawer::MeshDrawer(void); Description: Creates the MeshDrawer low level system.

begin void MeshDrawer::begin(NodePath camera, NodePath render); Description: Pass the current camera node and the root node.

billboard void MeshDrawer::billboard(LVector3f pos, int frame, float size, LVector4f color); Description: Draws a billboard - particle with no rotation. Billboards always face the camera.

blendedParticle void MeshDrawer::blended_particle(LVector3f pos, int frame1, int frame2, float blend, float size, LVector4f color, float rotation); Description: Works just like particle but accepts 2 frames and a blend (from 0 to 1) component between them

crossSegment void MeshDrawer::cross_segment(LVector3f start, LVector3f stop, int frame, float thickness, LVector4f color); Description: Draws a segment a line with a thickness. This segment does not use the bill boarding behavior and instead draws 2 planes in a cross.

end void MeshDrawer::end(void); Description: Finish the drawing and clearing off the remaining vertexes.

explosion void MeshDrawer::explosion(LVector3f pos, int frame, float size, LVector4f color, int seed, int number, float distance); Description: Draws number of particles in a sphere like emitter.

geometry void MeshDrawer::geometry(NodePath node); Description: Draws the geometry that is inside this node path into the MeshDrawer object. This performs a similar functions as RigidBodyCombiner but for very dynamic situations that share the same texture like physcal chunks of explosions.

getBudget int MeshDrawer::get_budget(void); Description: Gets the total triangle budget of the drawer

getClassType static TypeHandle MeshDrawer::get_class_type(void); Undocumented function.

getPlateSize int MeshDrawer::get_plate_size(void); Description: Gets the number of images are on one side of a sqare plate.

getRoot NodePath MeshDrawer::get_root(void); Description: Returns the root NodePath.

linkSegment void MeshDrawer::link_segment(LVector3f pos, int frame, float thickness, LVector4f color); Description: Stars or continues linked segment. Control position, frame, thickness and color with parameters.

linkSegmentEnd void MeshDrawer::link_segment_end(int frame, LVector4f color); Description: Finish drawing linked segments, needs at least two calls to link_segment before it can end the linked segment.

particle void MeshDrawer::particle(LVector3f pos, int frame, float size, LVector4f color, float rotation); Description: Draws a particle that is sort of like a bill board but has an extra rotation component.

segment void MeshDrawer::segment(LVector3f start, LVector3f stop, int frame, float thickness, LVector4f color); Description: Draws a segment a line with a thickness. That has billboarding effect.

setBudget void MeshDrawer::set_budget(int budget); Description: Sets the total triangle budget of the drawer.

setPlateSize void MeshDrawer::set_plate_size(int plate_size); Description: Sets the number of images are on one side of a sqare plate. Geom drawer expects a plate of square image for most of its billboard operatoins. If plate size is 3 the frame numbering would look like this: 0 1 2 3 4 5 6 7 8 you can select any frame you like for many of the billboards and segments.

stream void MeshDrawer::stream(LVector3f start, LVector3f stop, int frame, float size, LVector4f color, int number, float offset); Description: Draws a number of particles in a big line with a shift dictated by the offset.

tri void MeshDrawer::tri(LVector3f v1, LVector4f c1, LVector2f uv1, LVector3f v2, LVector4f c2, LVector2f uv2, LVector3f v3, LVector4f c3, LVector2f uv3); Description: Draws a triangle with the given parameters.

unevenSegment void MeshDrawer::uneven_segment(LVector3f start, LVector3f stop, int frame, int multi_frame, float thickness_start, LVector4f color_start, float thickness_stop, LVector4f color_stop); Description: Draws a segment a line with different thickness and color on both sides.

getClassType static TypeHandle TypedObject::get_class_type(void); Undocumented function.

getType virtual TypeHandle TypedObject::get_type(void) const = 0; Derived classes should override this function to return get_class_type().

getTypeIndex int TypedObject::get_type_index(void) const; Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType bool TypedObject::is_exact_type(TypeHandle handle) const; Description: Returns true if the current object is the indicated type exactly.

isOfType bool TypedObject::is_of_type(TypeHandle handle) const; Description: Returns true if the current object is or derives from the indicated type.