Panda3D
Public Member Functions | Static Public Member Functions | List of all members
GeomPipelineReader Class Reference

Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline. More...

#include "geom.h"

Inheritance diagram for GeomPipelineReader:
GeomEnums

Public Member Functions

 GeomPipelineReader (const Geom *object, Thread *current_thread)
 
 GeomPipelineReader (const GeomPipelineReader &copy)=delete
 
 GeomPipelineReader (Thread *current_thread)
 
bool check_valid (const GeomVertexDataPipelineReader *data_reader) const
 
 CPT (GeomPrimitive) get_primitive(int i) const
 
 CPT (GeomVertexData) get_vertex_data() const
 
bool draw (GraphicsStateGuardianBase *gsg, const GeomVertexDataPipelineReader *data_reader, bool force) const
 The implementation of Geom::draw(). More...
 
Threadget_current_thread () const
 
int get_geom_rendering () const
 
UpdateSeq get_modified () const
 
int get_num_primitives () const
 
const Geomget_object () const
 
PrimitiveType get_primitive_type () const
 
ShadeModel get_shade_model () const
 
GeomPipelineReaderoperator= (const GeomPipelineReader &copy)=delete
 
GeomContextprepare_now (PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg) const
 
void set_object (const Geom *object)
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 

Additional Inherited Members

- Public Types inherited from GeomEnums
enum  AnimationType { AT_none , AT_panda , AT_hardware }
 
enum  Contents {
  C_other , C_point , C_clip_point , C_vector ,
  C_texcoord , C_color , C_index , C_morph_delta ,
  C_matrix , C_normal
}
 
enum  GeomRendering {
  GR_indexed_point = 0x00001 , GR_indexed_other = 0x10000 , GR_indexed_bits = 0x10001 , GR_point = 0x00002 ,
  GR_point_uniform_size = 0x00004 , GR_per_point_size = 0x00008 , GR_point_perspective = 0x00010 , GR_point_aspect_ratio = 0x00020 ,
  GR_point_scale = 0x00040 , GR_point_rotate = 0x00080 , GR_point_sprite = 0x00100 , GR_point_sprite_tex_matrix = 0x00200 ,
  GR_point_bits = 0x003fe , GR_triangle_strip = 0x00400 , GR_triangle_fan = 0x00800 , GR_line_strip = 0x01000 ,
  GR_composite_bits = 0x01c00 , GR_strip_cut_index = 0x20000 , GR_flat_first_vertex = 0x02000 , GR_flat_last_vertex = 0x04000 ,
  GR_shade_model_bits = 0x06000 , GR_render_mode_wireframe = 0x40000 , GR_render_mode_point = 0x80000 , GR_adjacency = 0x100000
}
 
enum  NumericType {
  NT_uint8 , NT_uint16 , NT_uint32 , NT_packed_dcba ,
  NT_packed_dabc , NT_float32 , NT_float64 , NT_stdfloat ,
  NT_int8 , NT_int16 , NT_int32 , NT_packed_ufloat
}
 
enum  PrimitiveType {
  PT_none , PT_polygons , PT_lines , PT_points ,
  PT_patches
}
 
enum  ShadeModel { SM_uniform , SM_smooth , SM_flat_first_vertex , SM_flat_last_vertex }
 
enum  UsageHint {
  UH_client , UH_stream , UH_dynamic , UH_static ,
  UH_unspecified
}
 

Detailed Description

Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline.

Does not hold a reference to the Geom. The caller must ensure that the Geom persists for at least the lifetime of the GeomPipelineReader.

Definition at line 405 of file geom.h.

Member Function Documentation

◆ draw()

bool GeomPipelineReader::draw ( GraphicsStateGuardianBase gsg,
const GeomVertexDataPipelineReader data_reader,
bool  force 
) const

The implementation of Geom::draw().

Definition at line 1861 of file geom.cxx.

Referenced by Geom::draw().


The documentation for this class was generated from the following files: