EggNode
from panda3d.egg import EggNode
- class EggNode
Bases:
EggNamedObject
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.
Inheritance diagram
- __init__(*args, **kwargs)
- applyTexmats()
C++ Interface: apply_texmats(const EggNode self)
- /**
Applies the texture matrices to the UV’s of the vertices that reference
them, and then removes the texture matrices from the textures themselves.
*/
- apply_texmats()
C++ Interface: apply_texmats(const EggNode self)
- /**
Applies the texture matrices to the UV’s of the vertices that reference
them, and then removes the texture matrices from the textures themselves.
*/
- depth
- determineAlphaMode()
C++ Interface: determine_alpha_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has an alpha_mode
other than AM_unspecified. Returns a valid EggRenderMode pointer if one is
found, or NULL otherwise.
*/
- determineBin()
C++ Interface: determine_bin(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a bin specified.
Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.
*/
- determineDecal()
C++ Interface: determine_decal(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup at this level or above
that has the “decal” flag set. Returns the value of the decal flag if it
is found, or false if it is not.
In other words, returns true if the “decal” flag is in effect for the
indicated node, false otherwise.
*/
- determineDepthOffset()
C++ Interface: determine_depth_offset(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a depth_offset
specified. Returns a valid EggRenderMode pointer if one is found, or NULL
otherwise.
*/
- determineDepthTestMode()
C++ Interface: determine_depth_test_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- determineDepthWriteMode()
C++ Interface: determine_depth_write_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- determineDrawOrder()
C++ Interface: determine_draw_order(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a draw_order
specified. Returns a valid EggRenderMode pointer if one is found, or NULL
otherwise.
*/
- determineIndexed()
C++ Interface: determine_indexed(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup at this level or above
that has the “indexed” scalar set. Returns the value of the indexed scalar
if it is found, or false if it is not.
In other words, returns true if the “indexed” flag is in effect for the
indicated node, false otherwise.
*/
- determineVisibilityMode()
C++ Interface: determine_visibility_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
visibility_mode other than VM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- determine_alpha_mode()
C++ Interface: determine_alpha_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has an alpha_mode
other than AM_unspecified. Returns a valid EggRenderMode pointer if one is
found, or NULL otherwise.
*/
- determine_bin()
C++ Interface: determine_bin(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a bin specified.
Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.
*/
- determine_decal()
C++ Interface: determine_decal(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup at this level or above
that has the “decal” flag set. Returns the value of the decal flag if it
is found, or false if it is not.
In other words, returns true if the “decal” flag is in effect for the
indicated node, false otherwise.
*/
- determine_depth_offset()
C++ Interface: determine_depth_offset(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a depth_offset
specified. Returns a valid EggRenderMode pointer if one is found, or NULL
otherwise.
*/
- determine_depth_test_mode()
C++ Interface: determine_depth_test_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- determine_depth_write_mode()
C++ Interface: determine_depth_write_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- determine_draw_order()
C++ Interface: determine_draw_order(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a draw_order
specified. Returns a valid EggRenderMode pointer if one is found, or NULL
otherwise.
*/
- determine_indexed()
C++ Interface: determine_indexed(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup at this level or above
that has the “indexed” scalar set. Returns the value of the indexed scalar
if it is found, or false if it is not.
In other words, returns true if the “indexed” flag is in effect for the
indicated node, false otherwise.
*/
- determine_visibility_mode()
C++ Interface: determine_visibility_mode(const EggNode self)
- /**
Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or
some such object at this level or above this node that has a
visibility_mode other than VM_unspecified. Returns a valid EggRenderMode
pointer if one is found, or NULL otherwise.
*/
- flattenTransforms()
C++ Interface: flatten_transforms(const EggNode self)
- /**
Removes any transform and instance records from this node in the scene
graph and below. If an instance node is encountered, removes the instance
and applies the transform to its vertices, duplicating vertices if
necessary.
Since this function may result in duplicated vertices, it may be a good
idea to call remove_unused_vertices() after calling this.
*/
- flatten_transforms()
C++ Interface: flatten_transforms(const EggNode self)
- /**
Removes any transform and instance records from this node in the scene
graph and below. If an instance node is encountered, removes the instance
and applies the transform to its vertices, duplicating vertices if
necessary.
Since this function may result in duplicated vertices, it may be a good
idea to call remove_unused_vertices() after calling this.
*/
- getClassType()
C++ Interface: get_class_type()
- getDepth()
C++ Interface: get_depth(EggNode self)
- /**
Returns the number of nodes above this node in the egg hierarchy.
*/
- getNodeFrame()
C++ Interface: get_node_frame(EggNode self)
- /**
Returns the coordinate frame of the node itself. This is simply the net
product of all transformations up to the root.
*/
- getNodeFrameInv()
C++ Interface: get_node_frame_inv(EggNode self)
- /**
Returns the inverse of the matrix returned by get_node_frame(). See
get_node_frame().
*/
- getNodeFrameInvPtr()
C++ Interface: get_node_frame_inv_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_frame_inv() matrix.
*/
- getNodeFramePtr()
C++ Interface: get_node_frame_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_frame() matrix.
*/
- getNodeToVertex()
C++ Interface: get_node_to_vertex(EggNode self)
- /**
Returns the transformation matrix suitable for converting vertices in the
coordinate space of the node to the appropriate coordinate space for
storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()
*/
- getNodeToVertexPtr()
C++ Interface: get_node_to_vertex_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_to_vertex() matrix.
*/
- getVertexFrame()
C++ Interface: get_vertex_frame(EggNode self)
- /**
Returns the coordinate frame of the vertices referenced by primitives at or
under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate
space, regardless of the transforms defined at each node. Thus,
get_vertex_frame() will usually return the identity transform (global
coordinate space). However, primitives under an <Instance> entry reference
their vertices in the coordinate system under effect at the time of the
<Instance>. Thus, nodes under an <Instance> entry may return this non-
identity matrix.
Specifically, this may return a non-identity matrix only if
is_local_coord() is true.
*/
- getVertexFrameInv()
C++ Interface: get_vertex_frame_inv(EggNode self)
- /**
Returns the inverse of the matrix returned by get_vertex_frame(). See
get_vertex_frame().
*/
- getVertexFrameInvPtr()
C++ Interface: get_vertex_frame_inv_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_frame_inv() matrix.
*/
- getVertexFramePtr()
C++ Interface: get_vertex_frame_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_frame() matrix.
*/
- getVertexToNode()
C++ Interface: get_vertex_to_node(EggNode self)
- /**
Returns the transformation matrix suitable for converting the vertices as
read from the egg file into the coordinate space of the node. This is the
same thing as:
get_vertex_frame() * get_node_frame_inv()
*/
- getVertexToNodePtr()
C++ Interface: get_vertex_to_node_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_to_node() matrix.
*/
- get_class_type()
C++ Interface: get_class_type()
- get_depth()
C++ Interface: get_depth(EggNode self)
- /**
Returns the number of nodes above this node in the egg hierarchy.
*/
- get_node_frame()
C++ Interface: get_node_frame(EggNode self)
- /**
Returns the coordinate frame of the node itself. This is simply the net
product of all transformations up to the root.
*/
- get_node_frame_inv()
C++ Interface: get_node_frame_inv(EggNode self)
- /**
Returns the inverse of the matrix returned by get_node_frame(). See
get_node_frame().
*/
- get_node_frame_inv_ptr()
C++ Interface: get_node_frame_inv_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_frame_inv() matrix.
*/
- get_node_frame_ptr()
C++ Interface: get_node_frame_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_frame() matrix.
*/
- get_node_to_vertex()
C++ Interface: get_node_to_vertex(EggNode self)
- /**
Returns the transformation matrix suitable for converting vertices in the
coordinate space of the node to the appropriate coordinate space for
storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()
*/
- get_node_to_vertex_ptr()
C++ Interface: get_node_to_vertex_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_node_to_vertex() matrix.
*/
- get_vertex_frame()
C++ Interface: get_vertex_frame(EggNode self)
- /**
Returns the coordinate frame of the vertices referenced by primitives at or
under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate
space, regardless of the transforms defined at each node. Thus,
get_vertex_frame() will usually return the identity transform (global
coordinate space). However, primitives under an <Instance> entry reference
their vertices in the coordinate system under effect at the time of the
<Instance>. Thus, nodes under an <Instance> entry may return this non-
identity matrix.
Specifically, this may return a non-identity matrix only if
is_local_coord() is true.
*/
- get_vertex_frame_inv()
C++ Interface: get_vertex_frame_inv(EggNode self)
- /**
Returns the inverse of the matrix returned by get_vertex_frame(). See
get_vertex_frame().
*/
- get_vertex_frame_inv_ptr()
C++ Interface: get_vertex_frame_inv_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_frame_inv() matrix.
*/
- get_vertex_frame_ptr()
C++ Interface: get_vertex_frame_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_frame() matrix.
*/
- get_vertex_to_node()
C++ Interface: get_vertex_to_node(EggNode self)
- /**
Returns the transformation matrix suitable for converting the vertices as
read from the egg file into the coordinate space of the node. This is the
same thing as:
get_vertex_frame() * get_node_frame_inv()
*/
- get_vertex_to_node_ptr()
C++ Interface: get_vertex_to_node_ptr(EggNode self)
- /**
Returns either a NULL pointer or a unique pointer shared by nodes with the
same get_vertex_to_node() matrix.
*/
- isAnimMatrix()
C++ Interface: is_anim_matrix(EggNode self)
- /**
Returns true if this node represents a table of animation transformation
data, false otherwise.
*/
- isJoint()
C++ Interface: is_joint(EggNode self)
- /**
Returns true if this particular node represents a <Joint> entry or not.
This is a handy thing to know since Joints are sorted to the end of their
sibling list when writing an egg file. See EggGroupNode::write().
*/
- isLocalCoord()
C++ Interface: is_local_coord(EggNode self)
- /**
Returns true if this node’s vertices are not in the global coordinate
space. This will be the case if there was an <Instance> node under a
transform at or above this node.
*/
- isUnderInstance()
C++ Interface: is_under_instance(EggNode self)
- /**
Returns true if there is an <Instance> node somewhere in the egg tree at or
above this node, false otherwise.
*/
- isUnderTransform()
C++ Interface: is_under_transform(EggNode self)
- /**
Returns true if there is a <Transform> entry somewhere in the egg tree at
or above this node, false otherwise.
*/
- is_anim_matrix()
C++ Interface: is_anim_matrix(EggNode self)
- /**
Returns true if this node represents a table of animation transformation
data, false otherwise.
*/
- is_joint()
C++ Interface: is_joint(EggNode self)
- /**
Returns true if this particular node represents a <Joint> entry or not.
This is a handy thing to know since Joints are sorted to the end of their
sibling list when writing an egg file. See EggGroupNode::write().
*/
- is_local_coord()
C++ Interface: is_local_coord(EggNode self)
- /**
Returns true if this node’s vertices are not in the global coordinate
space. This will be the case if there was an <Instance> node under a
transform at or above this node.
*/
- is_under_instance()
C++ Interface: is_under_instance(EggNode self)
- /**
Returns true if there is an <Instance> node somewhere in the egg tree at or
above this node, false otherwise.
*/
- is_under_transform()
C++ Interface: is_under_transform(EggNode self)
- /**
Returns true if there is a <Transform> entry somewhere in the egg tree at
or above this node, false otherwise.
*/
- parent
- parseEgg()
C++ Interface: parse_egg(const EggNode self, str egg_syntax)
- /**
Parses the egg syntax given in the indicate string as if it had been read
from the egg file within this object’s definition. Updates the object
accordingly. Returns true if successful, false if there was some parse
error or if the object does not support this functionality.
*/
- parse_egg()
C++ Interface: parse_egg(const EggNode self, str egg_syntax)
- /**
Parses the egg syntax given in the indicate string as if it had been read
from the egg file within this object’s definition. Updates the object
accordingly. Returns true if successful, false if there was some parse
error or if the object does not support this functionality.
*/
- testUnderIntegrity()
C++ Interface: test_under_integrity(EggNode self)
- test_under_integrity()
C++ Interface: test_under_integrity(EggNode self)
- transform()
C++ Interface: transform(const EggNode self, const LMatrix4d mat)
- /**
Applies the indicated transformation to the node and all of its
descendants.
*/
- transformVerticesOnly()
C++ Interface: transform_vertices_only(const EggNode self, const LMatrix4d mat)
- /**
Applies the indicated transformation only to vertices that appear in global
space within vertex pools at this node and below. Joints and other
transforms are not affected, nor are local vertices.
*/
- transform_vertices_only()
C++ Interface: transform_vertices_only(const EggNode self, const LMatrix4d mat)
- /**
Applies the indicated transformation only to vertices that appear in global
space within vertex pools at this node and below. Joints and other
transforms are not affected, nor are local vertices.
*/
- write()
C++ Interface: write(EggNode self, ostream out, int indent_level)