Panda3D
|
Specifies how polygons are to be drawn. More...
#include <pandadoc.hpp>
Public Types | |
enum | Mode { M_unchanged = 0 , M_filled = 1 , M_wireframe = 2 , M_point = 3 , M_filled_flat = 4 , M_filled_wireframe = 5 } |
![]() | |
enum | PandaCompareFunc { M_none = 0 , M_never = 1 , M_less = 2 , M_equal = 3 , M_less_equal = 4 , M_greater = 5 , M_not_equal = 6 , M_greater_equal = 7 , M_always = 8 } |
enum | TexGenMode { M_off = 0 , M_eye_sphere_map = 1 , M_world_cube_map = 2 , M_eye_cube_map = 3 , M_world_normal = 4 , M_eye_normal = 5 , M_world_position = 6 , M_unused = 7 , M_eye_position = 8 , M_point_sprite = 9 , M_unused2 = 10 , M_constant = 11 } |
Public Member Functions | |
int | getGeomRendering (int geom_rendering) |
Returns the union of the Geom::GeomRendering bits that will be required once this RenderModeAttrib is applied to a geom which includes the indicated geom_rendering bits. | |
RenderModeAttrib::Mode | getMode () |
Returns the render mode. | |
bool | getPerspective () |
Returns the perspective flag. | |
float | getThickness () |
Returns the line width or point thickness. | |
const LColor | getWireframeColor () |
Returns the color that is used in M_filled_wireframe mode to distinguish the wireframe from the rest of the geometry. | |
![]() | |
int | compareTo (const RenderAttrib other) |
Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest. | |
const RenderAttrib | compose (const RenderAttrib other) |
Returns a new RenderAttrib object that represents the composition of this attrib with the other attrib. | |
int | getHash () |
Returns a suitable hash value for phash_map. | |
int | getSlot () |
const RenderAttrib | getUnique () |
Returns the pointer to the unique RenderAttrib in the cache that is equivalent to this one. | |
const RenderAttrib | invertCompose (const RenderAttrib other) |
Returns a new RenderAttrib object that represents the composition of the inverse of this attrib with the other attrib. | |
bool | lowerAttribCanOverride () |
Intended to be overridden by derived RenderAttrib types to specify how two consecutive RenderAttrib objects of the same type interact. | |
output (Ostream out) | |
write (Ostream out, int indent_level) | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. | |
![]() | |
int | getRefCount () |
Returns the current reference count. | |
ref () | |
Explicitly increments the reference count. | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
bool | unref () |
Explicitly decrements the reference count. | |
Static Public Member Functions | |
static int | getClassSlot () |
static TypeHandle | getClassType () |
static const RenderAttrib | make (RenderModeAttrib::Mode mode, float thickness, bool perspective, const LColor wireframe_color) |
Constructs a new RenderModeAttrib object that specifies whether to draw polygons in the normal, filled mode, or wireframe mode, or in some other yet-to-be-defined mode. | |
static const RenderAttrib | makeDefault () |
Returns a RenderAttrib that corresponds to whatever the standard default properties for render attributes of this type ought to be. | |
![]() | |
static int | garbageCollect () |
Performs a garbage-collection cycle. | |
static TypeHandle | getClassType () |
static int | getNumAttribs () |
Returns the total number of unique RenderAttrib objects allocated in the world. | |
static | listAttribs (Ostream out) |
Lists all of the RenderAttribs in the cache to the output stream, one per line. | |
static bool | validateAttribs () |
Ensures that the cache is still stored in sorted order. | |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
int | class_slot |
RenderModeAttrib::Mode | mode |
Returns the render mode. | |
bool | perspective |
Returns the perspective flag. | |
float | thickness |
Returns the line width or point thickness. | |
const LColor | wireframe_color |
Returns the color that is used in M_filled_wireframe mode to distinguish the wireframe from the rest of the geometry. | |
![]() | |
int | slot |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. | |
![]() | |
int | ref_count |
The current reference count. | |
Specifies how polygons are to be drawn.
enum Mode |
|
static |
|
static |
int getGeomRendering | ( | int | geom_rendering | ) |
Returns the union of the Geom::GeomRendering bits that will be required once this RenderModeAttrib is applied to a geom which includes the indicated geom_rendering bits.
RenderModeAttrib::Mode getMode | ( | ) |
Returns the render mode.
bool getPerspective | ( | ) |
Returns the perspective flag.
When this is true, the point thickness represented by get_thickness() is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the default, the point thickness is actually a width in pixels, and points are a uniform size regardless of distance from the camera.
float getThickness | ( | ) |
Returns the line width or point thickness.
This is only relevant when rendering points or lines, such as when the mode is M_wireframe or M_point (or when rendering actual points or lines primitives in M_polygon mode).
const LColor getWireframeColor | ( | ) |
Returns the color that is used in M_filled_wireframe mode to distinguish the wireframe from the rest of the geometry.
|
static |
Constructs a new RenderModeAttrib object that specifies whether to draw polygons in the normal, filled mode, or wireframe mode, or in some other yet-to-be-defined mode.
The thickness parameter specifies the thickness to be used for wireframe lines, as well as for ordinary linestrip lines; it also specifies the diameter of points. (Thick lines are presently only supported in OpenGL; but thick points are supported on either platform.)
If perspective is true, the point thickness represented is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the point thickness is actually a width in pixels, and points are a uniform screen size regardless of distance from the camera.
In M_filled_wireframe mode, you should also specify the wireframe_color, indicating the flat color to assign to the overlayed wireframe.
|
static |
Returns a RenderAttrib that corresponds to whatever the standard default properties for render attributes of this type ought to be.
int class_slot |
Returns the render mode.
bool perspective |
Returns the perspective flag.
When this is true, the point thickness represented by get_thickness() is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the default, the point thickness is actually a width in pixels, and points are a uniform size regardless of distance from the camera.
float thickness |
Returns the line width or point thickness.
This is only relevant when rendering points or lines, such as when the mode is M_wireframe or M_point (or when rendering actual points or lines primitives in M_polygon mode).
const LColor wireframe_color |
Returns the color that is used in M_filled_wireframe mode to distinguish the wireframe from the rest of the geometry.