Panda3D
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
GeomPrimitivePipelineReader Class Reference

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

#include "geomPrimitive.h"

Inheritance diagram for GeomPrimitivePipelineReader:
GeomEnums

Public Member Functions

 GeomPrimitivePipelineReader (const GeomPrimitivePipelineReader &copy)=delete
 
 GeomPrimitivePipelineReader (CPT(GeomPrimitive) object, Thread *current_thread)
 
void check_minmax () const
 Ensures that the primitive's minmax cache has been computed.
 
bool check_valid (const GeomVertexDataPipelineReader *data_reader) const
 
 CPT (GeomVertexArrayData) get_maxs() const
 
 CPT (GeomVertexArrayData) get_mins() const
 
bool draw (GraphicsStateGuardianBase *gsg, bool force) const
 
Threadget_current_thread () const
 
int get_data_size_bytes () const
 Returns the number of bytes stored in the vertices array.
 
CPTA_int get_ends () const
 
int get_first_vertex () const
 
int get_index_stride () const
 
NumericType get_index_type () const
 
int get_max_vertex () const
 
int get_min_vertex () const
 
UpdateSeq get_modified () const
 
int get_num_primitives () const
 
int get_num_vertices () const
 
const GeomPrimitiveget_object () const
 
const unsigned char * get_read_pointer (bool force) const
 
void get_referenced_vertices (BitArray &bits) const
 Turns on all the bits corresponding to the vertices that are referenced by this GeomPrimitive.
 
ShadeModel get_shade_model () const
 
int get_strip_cut_index () const
 
UsageHint get_usage_hint () const
 
int get_vertex (int i) const
 Returns the ith vertex index in the table.
 
bool is_indexed () const
 
GeomPrimitivePipelineReaderoperator= (const GeomPrimitivePipelineReader &copy)=delete
 
IndexBufferContextprepare_now (PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg) const
 

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 GeomPrimitive, pre-fetched for one stage of the pipeline.

Definition at line 352 of file geomPrimitive.h.

Constructor & Destructor Documentation

◆ GeomPrimitivePipelineReader()

GeomPrimitivePipelineReader::GeomPrimitivePipelineReader ( CPT(GeomPrimitive) object,
Thread * current_thread )
inline

Definition at line 453 of file geomPrimitive.I.

◆ ~GeomPrimitivePipelineReader()

GeomPrimitivePipelineReader::~GeomPrimitivePipelineReader ( )
inline

Definition at line 483 of file geomPrimitive.I.

Member Function Documentation

◆ check_minmax()

void GeomPrimitivePipelineReader::check_minmax ( ) const

Ensures that the primitive's minmax cache has been computed.

Definition at line 2266 of file geomPrimitive.cxx.

References unref_delete().

Referenced by GeomPipelineReader::draw(), GeomPrimitive::get_max_vertex(), and GeomPrimitive::get_min_vertex().

◆ check_valid()

bool GeomPrimitivePipelineReader::check_valid ( const GeomVertexDataPipelineReader * data_reader) const

Definition at line 2414 of file geomPrimitive.cxx.

◆ get_class_type()

static TypeHandle GeomPrimitivePipelineReader::get_class_type ( )
inlinestatic

Definition at line 401 of file geomPrimitive.h.

◆ get_current_thread()

Thread * GeomPrimitivePipelineReader::get_current_thread ( ) const
inline

Definition at line 521 of file geomPrimitive.I.

◆ get_data_size_bytes()

int GeomPrimitivePipelineReader::get_data_size_bytes ( ) const
inline

Returns the number of bytes stored in the vertices array.

Definition at line 594 of file geomPrimitive.I.

References VertexDataBuffer::get_size().

Referenced by DXIndexBufferContext9::allocate_ibuffer(), IndexBufferContext::changed_size(), IndexBufferContext::mark_loaded(), and DXIndexBufferContext9::upload_data().

◆ get_ends()

CPTA_int GeomPrimitivePipelineReader::get_ends ( ) const
inline

Definition at line 636 of file geomPrimitive.I.

◆ get_first_vertex()

int GeomPrimitivePipelineReader::get_first_vertex ( ) const

Definition at line 2300 of file geomPrimitive.cxx.

◆ get_index_stride()

int GeomPrimitivePipelineReader::get_index_stride ( ) const
inline

Definition at line 610 of file geomPrimitive.I.

◆ get_index_type()

GeomPrimitivePipelineReader::NumericType GeomPrimitivePipelineReader::get_index_type ( ) const
inline

Definition at line 545 of file geomPrimitive.I.

◆ get_max_vertex()

int GeomPrimitivePipelineReader::get_max_vertex ( ) const
inline

Definition at line 585 of file geomPrimitive.I.

◆ get_min_vertex()

int GeomPrimitivePipelineReader::get_min_vertex ( ) const
inline

Definition at line 576 of file geomPrimitive.I.

◆ get_modified()

UpdateSeq GeomPrimitivePipelineReader::get_modified ( ) const
inline

Definition at line 602 of file geomPrimitive.I.

◆ get_num_primitives()

int GeomPrimitivePipelineReader::get_num_primitives ( ) const

Definition at line 2349 of file geomPrimitive.cxx.

◆ get_num_vertices()

int GeomPrimitivePipelineReader::get_num_vertices ( ) const
inline

Definition at line 561 of file geomPrimitive.I.

◆ get_object()

const GeomPrimitive * GeomPrimitivePipelineReader::get_object ( ) const
inline

Definition at line 513 of file geomPrimitive.I.

◆ get_read_pointer()

const unsigned char * GeomPrimitivePipelineReader::get_read_pointer ( bool force) const
inline

Definition at line 619 of file geomPrimitive.I.

◆ get_referenced_vertices()

void GeomPrimitivePipelineReader::get_referenced_vertices ( BitArray & bits) const

◆ get_shade_model()

GeomPrimitivePipelineReader::ShadeModel GeomPrimitivePipelineReader::get_shade_model ( ) const
inline

Definition at line 529 of file geomPrimitive.I.

◆ get_strip_cut_index()

int GeomPrimitivePipelineReader::get_strip_cut_index ( ) const
inline

Definition at line 628 of file geomPrimitive.I.

◆ get_usage_hint()

GeomPrimitivePipelineReader::UsageHint GeomPrimitivePipelineReader::get_usage_hint ( ) const
inline

Definition at line 537 of file geomPrimitive.I.

◆ get_vertex()

int GeomPrimitivePipelineReader::get_vertex ( int i) const

Returns the ith vertex index in the table.

Definition at line 2318 of file geomPrimitive.cxx.

References GeomPrimitive::get_num_vertices.

Referenced by GeomPrimitive::make_nonindexed(), and Geom::unify_in_place().

◆ init_type()

static void GeomPrimitivePipelineReader::init_type ( )
inlinestatic

Definition at line 404 of file geomPrimitive.h.

◆ is_indexed()

bool GeomPrimitivePipelineReader::is_indexed ( ) const
inline

Definition at line 553 of file geomPrimitive.I.


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