Panda3D
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions

ShadeModelAttrib Class Reference

Specifies whether flat shading (per-polygon) or smooth shading (per-vertex) is in effect. More...

#include "shadeModelAttrib.h"

Inheritance diagram for ShadeModelAttrib:
RenderAttrib TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject MemoryBase MemoryBase

List of all members.

Public Types

enum  Mode { M_flat, M_smooth }

Public Member Functions

virtual TypeHandle force_init_type ()
Mode get_mode () const
 Returns the shade mode.
virtual int get_slot () const
virtual TypeHandle get_type () const
virtual void output (ostream &out) const
virtual void write_datagram (BamWriter *manager, Datagram &dg)
 Writes the contents of this object to the datagram for shipping out to a Bam file.

Static Public Member Functions

static CPT (RenderAttrib) make(Mode mode)
static CPT (RenderAttrib) make_default()
static int get_class_slot ()
static TypeHandle get_class_type ()
static void init_type ()
static void register_with_read_factory ()
 Tells the BamReader how to create objects of type ShadeModelAttrib.

Protected Member Functions

virtual int compare_to_impl (const RenderAttrib *other) const
 Intended to be overridden by derived ShadeModelAttrib types to return a unique number indicating whether this ShadeModelAttrib is equivalent to the other one.
virtual CPT (RenderAttrib) compose_impl(const RenderAttrib *other) const
void fillin (DatagramIterator &scan, BamReader *manager)
 This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new ShadeModelAttrib.
virtual size_t get_hash_impl () const
 Intended to be overridden by derived RenderAttrib types to return a unique hash for these particular properties.

Static Protected Member Functions

static TypedWritablemake_from_bam (const FactoryParams &params)
 This function is called by the BamReader's factory when a new object of type ShadeModelAttrib is encountered in the Bam file.

Detailed Description

Specifies whether flat shading (per-polygon) or smooth shading (per-vertex) is in effect.

Definition at line 29 of file shadeModelAttrib.h.


Member Function Documentation

int ShadeModelAttrib::compare_to_impl ( const RenderAttrib other) const [protected, virtual]

Intended to be overridden by derived ShadeModelAttrib types to return a unique number indicating whether this ShadeModelAttrib is equivalent to the other one.

This should return 0 if the two ShadeModelAttrib objects are equivalent, a number less than zero if this one should be sorted before the other one, and a number greater than zero otherwise.

This will only be called with two ShadeModelAttrib objects whose get_type() functions return the same.

Reimplemented from RenderAttrib.

Definition at line 86 of file shadeModelAttrib.cxx.

void ShadeModelAttrib::fillin ( DatagramIterator scan,
BamReader manager 
) [protected, virtual]

This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new ShadeModelAttrib.

Reimplemented from RenderAttrib.

Definition at line 187 of file shadeModelAttrib.cxx.

References DatagramIterator::get_int8().

Referenced by make_from_bam().

size_t ShadeModelAttrib::get_hash_impl ( ) const [protected, virtual]

Intended to be overridden by derived RenderAttrib types to return a unique hash for these particular properties.

RenderAttribs that compare the same with compare_to_impl(), above, should return the same hash; RenderAttribs that compare differently should return a different hash.

Reimplemented from RenderAttrib.

Definition at line 103 of file shadeModelAttrib.cxx.

References integer_hash< Key, Compare >::add_hash().

ShadeModelAttrib::Mode ShadeModelAttrib::get_mode ( ) const [inline]

Returns the shade mode.

Definition at line 34 of file shadeModelAttrib.I.

Referenced by TinyGraphicsStateGuardian::begin_draw_primitives().

TypedWritable * ShadeModelAttrib::make_from_bam ( const FactoryParams params) [static, protected]

This function is called by the BamReader's factory when a new object of type ShadeModelAttrib is encountered in the Bam file.

It should create the ShadeModelAttrib and extract its information from the file.

Definition at line 168 of file shadeModelAttrib.cxx.

References fillin().

Referenced by register_with_read_factory().

void ShadeModelAttrib::register_with_read_factory ( ) [static]

Tells the BamReader how to create objects of type ShadeModelAttrib.

Definition at line 142 of file shadeModelAttrib.cxx.

References BamReader::get_factory(), make_from_bam(), and Factory< Type >::register_factory().

void ShadeModelAttrib::write_datagram ( BamWriter manager,
Datagram dg 
) [virtual]

Writes the contents of this object to the datagram for shipping out to a Bam file.

Reimplemented from RenderAttrib.

Definition at line 153 of file shadeModelAttrib.cxx.

References Datagram::add_int8().


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