Panda3D
Classes | Public Member Functions | Public Attributes | Friends | List of all members
EggLoader Class Reference

Converts an egg data structure, possibly read from an egg file but not necessarily, into a scene graph suitable for rendering. More...

#include "eggLoader.h"

Public Member Functions

 EggLoader (const EggData *data)
 The EggLoader constructor makes a copy of the EggData passed in. More...
 
void build_graph ()
 
 CPT (TransformState) make_transform(const EggTransform *egg_transform)
 
void make_polyset (EggBin *egg_bin, PandaNode *parent, const LMatrix4d *transform, bool is_dynamic, CharacterMaker *character_maker)
 Creates a polyset–that is, a Geom–from the primitives that have already been grouped into a bin. More...
 
 PT (PandaNode) _root
 
 PT (EggData) _data
 
 PT (BamCacheRecord) _record
 
void reparent_decals ()
 For each node representing a decal base geometry (i.e. More...
 
void start_sequences ()
 Starts all of the SequenceNodes we created looping. More...
 

Public Attributes

bool _dynamic_override
 
CharacterMaker_dynamic_override_char_maker
 
bool _error
 

Friends

class EggRenderState
 
class PandaNode
 

Detailed Description

Converts an egg data structure, possibly read from an egg file but not necessarily, into a scene graph suitable for rendering.

This class isn't exported from this package.

Definition at line 67 of file eggLoader.h.

Constructor & Destructor Documentation

◆ EggLoader()

EggLoader::EggLoader ( const EggData data)

The EggLoader constructor makes a copy of the EggData passed in.

Definition at line 153 of file eggLoader.cxx.

Member Function Documentation

◆ make_polyset()

void EggLoader::make_polyset ( EggBin egg_bin,
PandaNode parent,
const LMatrix4d *  transform,
bool  is_dynamic,
CharacterMaker character_maker 
)

Creates a polyset–that is, a Geom–from the primitives that have already been grouped into a bin.

If transform is non-NULL, it represents the transform to apply to the vertices (instead of the default transform based on the bin's position within the hierarchy).

Definition at line 302 of file eggLoader.cxx.

◆ reparent_decals()

void EggLoader::reparent_decals ( )

For each node representing a decal base geometry (i.e.

a node corresponding to an EggGroup with the decal flag set), move all of its nested geometry directly below the GeomNode representing the group.

Definition at line 227 of file eggLoader.cxx.

◆ start_sequences()

void EggLoader::start_sequences ( )

Starts all of the SequenceNodes we created looping.

We have to wait until the entire graph is built up to do this, because the SequenceNode needs its full set of children before it can know how many frames to loop.

Definition at line 287 of file eggLoader.cxx.


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