Panda3D
Classes | Functions
panda3d::egg Namespace Reference

Classes

class  EggAnimData
 A base class for EggSAnimData and EggXfmAnimData, which contain rows and columns of numbers. More...
 
class  EggAnimPreload
 This corresponds to an <AnimPreload> entry. More...
 
class  EggAttributes
 The set of attributes that may be applied to vertices as well as polygons, such as surface normal and color. More...
 
class  EggBin
 A type of group node that holds related subnodes. This is a special kind of node that will never be read in from an egg file, but can only exist in the egg scene graph if it is created via the use of an EggBinMaker. More...
 
class  EggBinMaker
 This is a handy class for collecting related nodes together. It is an abstract class; to use it you must subclass off of it. See the somewhat lengthy comment above. More...
 
class  EggComment
 A comment that appears in an egg file within a <Comment> entry. More...
 
class  EggCompositePrimitive
 The base class for primitives such as triangle strips and triangle fans, which include several component triangles, each of which might have its own color and/or normal. More...
 
class  EggCoordinateSystem
 The <CoordinateSystem> entry at the top of an egg file. Don't confuse this with the enum EggData::CoordinateSystem, which is the value contained by this entry. More...
 
class  EggCurve
 A parametric curve of some kind. See EggNurbsCurve. More...
 
class  EggData
 This is the primary interface into all the egg data, and the root of the egg file structure. An EggData structure corresponds exactly with an egg file on the disk. More...
 
class  EggExternalReference
 Defines a reference to another egg file which should be inserted at this point. More...
 
class  EggFilenameNode
 This is an egg node that contains a filename. It references a physical file relative to the directory the egg file was loaded in. It is a base class for EggTexture and EggExternalReference. More...
 
class  EggGroup
 The main glue of the egg hierarchy, this corresponds to the <Group>, <Instance>, and <Joint> type nodes. More...
 
class  EggGroupNode
 A base class for nodes in the hierarchy that are not leaf nodes. (See also EggGroup, which is specifically the "<Group>" node in egg.) More...
 
class  EggGroupUniquifier
 This is a specialization of EggNameUniquifier to generate unique names for EggGroup nodes. It's not called automatically; you must invoke it yourself if you want it. More...
 
class  EggLine
 A line segment, or a series of connected line segments, defined by a <Line> entry. More...
 
class  EggMaterial
 
class  EggMaterialCollection
 This is a collection of materials by MRef name. It can extract the materials from an egg file and sort them all together; it can also manage the creation of unique materials and the assignment of unique MRef names. More...
 
class  EggNamedObject
 This is a fairly low-level base class–any egg object that has a name. More...
 
class  EggNameUniquifier
 This is a handy class for guaranteeing unique node names in an egg hierarchy. It is an abstract class; to use it you must subclass off of it. See the comment above. More...
 
class  EggNode
 A base class for things that may be directly added into the egg hierarchy. This includes groups, joints, polygons, vertex pools, etc., but does not include things like vertices. More...
 
class  EggNurbsCurve
 A parametric NURBS curve. More...
 
class  EggNurbsSurface
 A parametric NURBS surface. More...
 
class  EggObject
 The highest-level base class in the egg directory. (Almost) all things egg inherit from this. More...
 
class  EggPatch
 A single "patch", a special primitive to be rendered only with a tessellation shader. More...
 
class  EggPoint
 A single point, or a collection of points as defined by a single <PointLight> entry. More...
 
class  EggPolygon
 A single polygon. More...
 
class  EggPolysetMaker
 A specialization on EggBinMaker for making polysets that share the same basic rendering characteristic. This really just defines the example functions described in the leading comment to EggBinMaker. More...
 
class  EggPoolUniquifier
 This is a specialization of EggNameUniquifier to generate unique names for textures, materials, and vertex pools prior to writing out an egg file. It's automatically called by EggData prior to writing out an egg file. More...
 
class  EggPrimitive
 A base class for any of a number of kinds of geometry primitives: polygons, point lights, nurbs patches, parametrics curves, etc. Things with a set of vertices and some rendering properties like color. More...
 
class  EggRenderMode
 This class stores miscellaneous rendering properties that is associated with geometry, and which may be set on the geometry primitive level, on the group above it, or indirectly via a texture. It's intended to be a base class for egg objects that can have these properties set. More...
 
class  EggSAnimData
 Corresponding to an <S$Anim> entry, this stores a single column of numbers, for instance for a morph target, or as one column in an EggXfmSAnim. More...
 
class  EggSurface
 A parametric surface of some kind. See EggNurbsSurface. More...
 
class  EggSwitchCondition
 This corresponds to a <SwitchCondition> entry within a group. It indicates the condition at which a level-of-detail is switched in or out. This is actually an abstract base class for potentially any number of specific different kinds of switching conditions; presently, only a <Distance> type is actually supported. More...
 
class  EggSwitchConditionDistance
 A SwitchCondition that switches the levels-of-detail based on distance from the camera's eyepoint. More...
 
class  EggTable
 This corresponds to a. More...
 
class  EggTexture
 Defines a texture map that may be applied to geometry. More...
 
class  EggTextureCollection
 This is a collection of textures by TRef name. It can extract the textures from an egg file and sort them all together; it can also manage the creation of unique textures and the assignment of unique TRef names. More...
 
class  EggTransform
 This represents the <Transform> entry of a group or texture node: a list of component transform operations, applied in order, that describe a net transform matrix. More...
 
class  EggTriangleFan
 A connected fan of triangles. This does not normally appear in an egg file; it is typically generated as a result of meshing. More...
 
class  EggTriangleStrip
 A connected strip of triangles. This does not normally appear in an egg file; it is typically generated as a result of meshing. More...
 
class  EggUserData
 This is a base class for a user-defined data type to extend egg structures in processing code. The user of the egg library may derive from EggUserData to associate any arbitrary data with various egg objects. More...
 
class  EggVertex
 Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal. More...
 
class  EggVertexAux
 The set of named auxiliary data that may or may not be assigned to a vertex. Panda will import this data and create a custom column for it in the vertex data, but will not otherwise interpret it. Presumably, a shader will process the data later. More...
 
class  EggVertexPool
 A collection of vertices. There may be any number of vertex pools in a single egg structure. The vertices in a single pool need not necessarily have any connection to each other, but it is necessary that any one primitive (e.g. a polygon) must pull all its vertices from the same pool. More...
 
class  EggVertexUV
 The set of UV's that may or may not be assigned to a vertex. To support multitexturing, there may be multiple sets of UV's on a particular vertex, each with its own name. More...
 
class  EggXfmAnimData
 Corresponding to an <Xfm$Anim> entry, this stores a two-dimensional table with up to nine columns, one for each component of a transformation. This is an older syntax of egg anim table, not often used currently–it's replaced by EggXfmSAnim. More...
 
class  EggXfmSAnim
 This corresponds to an <Xfm$Anim_S$> entry, which is a collection of up to nine <S$Anim> entries that specify the nine components of a transformation. It's implemented as a group that can contain any number of EggSAnimData children. More...
 
class  MemoryBase
 This class is intended to be the base class of all objects in Panda that might be allocated and deleted via the new and delete operators. It redefines these operators to provide some memory tracking support. More...
 

Functions

PandaNode loadEggData (EggData data, CoordinateSystem cs)
 
PandaNode loadEggFile (const Filename filename, CoordinateSystem cs, BamCacheRecord record)
 

Function Documentation

◆ loadEggData()

PandaNode panda3d::egg::loadEggData ( EggData  data,
CoordinateSystem  cs 
)

◆ loadEggFile()

PandaNode panda3d::egg::loadEggFile ( const Filename  filename,
CoordinateSystem  cs,
BamCacheRecord  record 
)