InternalName

from panda3d.core import InternalName
class InternalName

Bases: TypedWritableReferenceCount

Encodes a string name in a hash table, mapping it to a pointer. This is used to tokenify names so they may be used efficiently in low-level Panda structures, for instance to differentiate the multiple sets of texture coordinates that might be stored on a Geom.

InternalNames are hierarchical, with the ‘.’ used by convention as a separator character. You can construct a single InternalName as a composition of one or more other names, or by giving it a source string directly.

Inheritance diagram

Inheritance diagram of InternalName

__init__(*args, **kwargs)
append()

C++ Interface: append(const InternalName self, str basename)

/**
  • Constructs a new InternalName based on this name, with the indicated string

  • following it. This is a cheaper way to construct a hierarchical name than

  • InternalName::make(parent->get_name() + “.basename”).

*/

basename
findAncestor()

C++ Interface: find_ancestor(InternalName self, str basename)

/**
  • Returns the index of the ancestor with the indicated basename, or -1 if no

  • ancestor has that basename. Returns 0 if this name has the basename.

  • This index value may be passed to get_ancestor() or get_net_basename() to

  • retrieve more information about the indicated name.

*/

find_ancestor()

C++ Interface: find_ancestor(InternalName self, str basename)

/**
  • Returns the index of the ancestor with the indicated basename, or -1 if no

  • ancestor has that basename. Returns 0 if this name has the basename.

  • This index value may be passed to get_ancestor() or get_net_basename() to

  • retrieve more information about the indicated name.

*/

getAncestor()

C++ Interface: get_ancestor(InternalName self, int n)

/**
  • Returns the ancestor with the indicated index number. 0 is this name

  • itself, 1 is the name’s parent, 2 is the parent’s parent, and so on. If

  • there are not enough ancestors, returns the root InternalName.

*/

getAspectRatio()

C++ Interface: get_aspect_ratio()

/**
  • Returns the standard InternalName “aspect_ratio”. This is the column header

  • for the floating-point aspect ratio value, which is used to define non-

  • square points. This number is the ratio x / y, where y is the point size

  • (above).

*/

getBasename()

C++ Interface: get_basename(InternalName self)

/**
  • Return the name represented by just this particular InternalName object,

  • ignoring its parents names. This is everything after the rightmost dot.

*/

getBinormal()

C++ Interface: get_binormal()

/**
  • Returns the standard InternalName “binormal”. This is the column header

  • for the tangent vector associated with each vertex, which is a unit vector

  • usually perpendicular to both the normal and the tangent, and in the

  • direction of the V texture coordinate change. It is used for deriving bump

  • maps.

*/

getBinormalName()

C++ Interface: get_binormal_name(str name)

/**
  • Returns the InternalName “binormal.name”, where name is the supplied

  • string. This is the column header for the binormal associated with the

  • named texture coordinate set.

*/

getCamera()

C++ Interface: get_camera()

/**
  • Returns the standard InternalName “camera”. This is used as a keyword in

  • the shader subsystem.

*/

getClassType()

C++ Interface: get_class_type()

getColor()

C++ Interface: get_color()

/**
  • Returns the standard InternalName “color”. This is the column header for

  • the 4-component color value for each vertex.

*/

getError()

C++ Interface: get_error()

/**
  • Returns the standard InternalName “error”.

*/

getIndex()

C++ Interface: get_index()

/**
  • Returns the standard InternalName “index”. This is the column header for

  • the integer vertex index. It is not used in the vertex data itself, but is

  • used in the GeomPrimitive structure to index into the vertex data.

*/

getInstanceMatrix()

C++ Interface: get_instance_matrix()

/**
  • Returns the standard InternalName “instance_matrix”.

*/

getModel()

C++ Interface: get_model()

/**
  • Returns the standard InternalName “model”. This is used as a keyword in

  • the shader subsystem.

*/

getMorph()

C++ Interface: get_morph(InternalName column, str slider)

/**
  • Returns an InternalName derived from the given base column name and the

  • given slider name, which is the column header for the offset vector that

  • should be applied to the base column name when the named morph slider is

  • engaged.

  • Each morph slider requires a set of n morph columns, one for each base

  • column it applies to.

*/

getName()

C++ Interface: get_name(InternalName self)

/**
  • Returns the complete name represented by the InternalName and all of its

  • parents.

*/

getNetBasename()

C++ Interface: get_net_basename(InternalName self, int n)

/**
  • Returns the basename of this name prefixed by the indicated number of

  • ancestors. 0 is this name’s basename, 1 is parent.basename, 2 is

  • grandparent.parent.basename, and so on.

*/

getNormal()

C++ Interface: get_normal()

/**
  • Returns the standard InternalName “normal”. This is the column header for

  • the 3-d lighting normal for each vertex.

*/

getParent()

C++ Interface: get_parent(InternalName self)

/**
  • Return the parent of this InternalName. All names have a parent, except

  • the root name.

*/

getRoot()

C++ Interface: get_root()

// Some predefined built-in names.

/**
  • Returns the standard root InternalName. This is the root of all other

  • InternalNames. It has no name itself, and it is the only InternalName with

  • no parent.

*/

getRotate()

C++ Interface: get_rotate()

/**
  • Returns the standard InternalName “rotate”. This is the column header for

  • the floating-point rotate value, which represents a number of degrees

  • counter-clockwise to rotate each point or point sprite.

*/

getSize()

C++ Interface: get_size()

/**
  • Returns the standard InternalName “size”. This is the column header for

  • the floating-point size value, which overrides the thickness parameter of

  • the RenderModeAttrib on a per-vertex (e.g. per-point) basis.

*/

getTangent()

C++ Interface: get_tangent()

/**
  • Returns the standard InternalName “tangent”. This is the column header for

  • the tangent vector associated with each vertex, which is a unit vector

  • usually perpendicular to the normal and in the direction of the U texture

  • coordinate change. It is used for deriving bump maps.

*/

getTangentName()

C++ Interface: get_tangent_name(str name)

/**
  • Returns the InternalName “tangent.name”, where name is the supplied string.

  • This is the column header for the tangent associated with the named texture

  • coordinate set.

*/

getTexcoord()

C++ Interface: get_texcoord()

/**
  • Returns the standard InternalName “texcoord”. This is the column header

  • for the default texture coordinate set for each vertex. It is also used

  • for identifying the default texture coordinate set in a TextureStage.

*/

getTexcoordName()

C++ Interface: get_texcoord_name(str name)

/**
  • Returns the InternalName “texcoord.name”, where name is the supplied

  • string. This is the column header for the named texture coordinate set for

  • each vertex. It is also used for identifying the named texture coordinate

  • set in a TextureStage.

*/

getTop()

C++ Interface: get_top(InternalName self)

/**
  • Returns the oldest ancestor in the InternalName’s chain, not counting the

  • root. This will be the first name in the string, e.g. “texcoord.foo.bar”

  • will return the InternalName “texcoord”.

*/

getTransformBlend()

C++ Interface: get_transform_blend()

/**
  • Returns the standard InternalName “transform_blend”. This is the column

  • header for the integer transform_blend index, which is used to define

  • vertex animation on the CPU by indexing to a particular vertex weighting

  • from the TransformBlendTable.

*/

getTransformIndex()

C++ Interface: get_transform_index()

/**
  • Returns the standard InternalName “transform_index”. This is the column

  • header for the n-component transform_index value, which is used in

  • conjuntion with “transform_weight” to define vertex animation on the

  • graphics card. The transform_index value specifies the nth transform, by

  • lookup in the TransformTable. The transform_index column may be omitted,

  • in which case the nth transform is the nth entry in the table.

*/

getTransformWeight()

C++ Interface: get_transform_weight()

/**
  • Returns the standard InternalName “transform_weight”. This is the column

  • header for the n-component transform_weight value, which is used in

  • conjuntion with “transform_index” to define vertex animation on the

  • graphics card. The transform_weight value specifies the weight of the nth

  • transform. By convention, there are 1 fewer weight values than transforms,

  • since the weights are assumed to sum to 1 (and the last value is therefore

  • implicit).

*/

getVertex()

C++ Interface: get_vertex()

/**
  • Returns the standard InternalName “vertex”. This is the column header for

  • the 3-d or 4-d vertex position information for each vertex.

*/

getView()

C++ Interface: get_view()

/**
  • Returns the standard InternalName “view”. This is used as a keyword in the

  • shader subsystem.

*/

getWorld()

C++ Interface: get_world()

/**
  • Returns the standard InternalName “world”. This is used as a keyword in

  • the shader subsystem.

*/

get_ancestor()

C++ Interface: get_ancestor(InternalName self, int n)

/**
  • Returns the ancestor with the indicated index number. 0 is this name

  • itself, 1 is the name’s parent, 2 is the parent’s parent, and so on. If

  • there are not enough ancestors, returns the root InternalName.

*/

get_aspect_ratio()

C++ Interface: get_aspect_ratio()

/**
  • Returns the standard InternalName “aspect_ratio”. This is the column header

  • for the floating-point aspect ratio value, which is used to define non-

  • square points. This number is the ratio x / y, where y is the point size

  • (above).

*/

get_basename()

C++ Interface: get_basename(InternalName self)

/**
  • Return the name represented by just this particular InternalName object,

  • ignoring its parents names. This is everything after the rightmost dot.

*/

get_binormal()

C++ Interface: get_binormal()

/**
  • Returns the standard InternalName “binormal”. This is the column header

  • for the tangent vector associated with each vertex, which is a unit vector

  • usually perpendicular to both the normal and the tangent, and in the

  • direction of the V texture coordinate change. It is used for deriving bump

  • maps.

*/

get_binormal_name()

C++ Interface: get_binormal_name(str name)

/**
  • Returns the InternalName “binormal.name”, where name is the supplied

  • string. This is the column header for the binormal associated with the

  • named texture coordinate set.

*/

get_camera()

C++ Interface: get_camera()

/**
  • Returns the standard InternalName “camera”. This is used as a keyword in

  • the shader subsystem.

*/

get_class_type()

C++ Interface: get_class_type()

get_color()

C++ Interface: get_color()

/**
  • Returns the standard InternalName “color”. This is the column header for

  • the 4-component color value for each vertex.

*/

get_error()

C++ Interface: get_error()

/**
  • Returns the standard InternalName “error”.

*/

get_index()

C++ Interface: get_index()

/**
  • Returns the standard InternalName “index”. This is the column header for

  • the integer vertex index. It is not used in the vertex data itself, but is

  • used in the GeomPrimitive structure to index into the vertex data.

*/

get_instance_matrix()

C++ Interface: get_instance_matrix()

/**
  • Returns the standard InternalName “instance_matrix”.

*/

get_model()

C++ Interface: get_model()

/**
  • Returns the standard InternalName “model”. This is used as a keyword in

  • the shader subsystem.

*/

get_morph()

C++ Interface: get_morph(InternalName column, str slider)

/**
  • Returns an InternalName derived from the given base column name and the

  • given slider name, which is the column header for the offset vector that

  • should be applied to the base column name when the named morph slider is

  • engaged.

  • Each morph slider requires a set of n morph columns, one for each base

  • column it applies to.

*/

get_name()

C++ Interface: get_name(InternalName self)

/**
  • Returns the complete name represented by the InternalName and all of its

  • parents.

*/

get_net_basename()

C++ Interface: get_net_basename(InternalName self, int n)

/**
  • Returns the basename of this name prefixed by the indicated number of

  • ancestors. 0 is this name’s basename, 1 is parent.basename, 2 is

  • grandparent.parent.basename, and so on.

*/

get_normal()

C++ Interface: get_normal()

/**
  • Returns the standard InternalName “normal”. This is the column header for

  • the 3-d lighting normal for each vertex.

*/

get_parent()

C++ Interface: get_parent(InternalName self)

/**
  • Return the parent of this InternalName. All names have a parent, except

  • the root name.

*/

get_root()

C++ Interface: get_root()

// Some predefined built-in names.

/**
  • Returns the standard root InternalName. This is the root of all other

  • InternalNames. It has no name itself, and it is the only InternalName with

  • no parent.

*/

get_rotate()

C++ Interface: get_rotate()

/**
  • Returns the standard InternalName “rotate”. This is the column header for

  • the floating-point rotate value, which represents a number of degrees

  • counter-clockwise to rotate each point or point sprite.

*/

get_size()

C++ Interface: get_size()

/**
  • Returns the standard InternalName “size”. This is the column header for

  • the floating-point size value, which overrides the thickness parameter of

  • the RenderModeAttrib on a per-vertex (e.g. per-point) basis.

*/

get_tangent()

C++ Interface: get_tangent()

/**
  • Returns the standard InternalName “tangent”. This is the column header for

  • the tangent vector associated with each vertex, which is a unit vector

  • usually perpendicular to the normal and in the direction of the U texture

  • coordinate change. It is used for deriving bump maps.

*/

get_tangent_name()

C++ Interface: get_tangent_name(str name)

/**
  • Returns the InternalName “tangent.name”, where name is the supplied string.

  • This is the column header for the tangent associated with the named texture

  • coordinate set.

*/

get_texcoord()

C++ Interface: get_texcoord()

/**
  • Returns the standard InternalName “texcoord”. This is the column header

  • for the default texture coordinate set for each vertex. It is also used

  • for identifying the default texture coordinate set in a TextureStage.

*/

get_texcoord_name()

C++ Interface: get_texcoord_name(str name)

/**
  • Returns the InternalName “texcoord.name”, where name is the supplied

  • string. This is the column header for the named texture coordinate set for

  • each vertex. It is also used for identifying the named texture coordinate

  • set in a TextureStage.

*/

get_top()

C++ Interface: get_top(InternalName self)

/**
  • Returns the oldest ancestor in the InternalName’s chain, not counting the

  • root. This will be the first name in the string, e.g. “texcoord.foo.bar”

  • will return the InternalName “texcoord”.

*/

get_transform_blend()

C++ Interface: get_transform_blend()

/**
  • Returns the standard InternalName “transform_blend”. This is the column

  • header for the integer transform_blend index, which is used to define

  • vertex animation on the CPU by indexing to a particular vertex weighting

  • from the TransformBlendTable.

*/

get_transform_index()

C++ Interface: get_transform_index()

/**
  • Returns the standard InternalName “transform_index”. This is the column

  • header for the n-component transform_index value, which is used in

  • conjuntion with “transform_weight” to define vertex animation on the

  • graphics card. The transform_index value specifies the nth transform, by

  • lookup in the TransformTable. The transform_index column may be omitted,

  • in which case the nth transform is the nth entry in the table.

*/

get_transform_weight()

C++ Interface: get_transform_weight()

/**
  • Returns the standard InternalName “transform_weight”. This is the column

  • header for the n-component transform_weight value, which is used in

  • conjuntion with “transform_index” to define vertex animation on the

  • graphics card. The transform_weight value specifies the weight of the nth

  • transform. By convention, there are 1 fewer weight values than transforms,

  • since the weights are assumed to sum to 1 (and the last value is therefore

  • implicit).

*/

get_vertex()

C++ Interface: get_vertex()

/**
  • Returns the standard InternalName “vertex”. This is the column header for

  • the 3-d or 4-d vertex position information for each vertex.

*/

get_view()

C++ Interface: get_view()

/**
  • Returns the standard InternalName “view”. This is used as a keyword in the

  • shader subsystem.

*/

get_world()

C++ Interface: get_world()

/**
  • Returns the standard InternalName “world”. This is used as a keyword in

  • the shader subsystem.

*/

join()

C++ Interface: join(InternalName self, str sep)

/**
  • Like get_name, but uses a custom separator instead of “.”.

*/

make()

C++ Interface: make(object str) make(str name, int index)

// These versions are exposed to Python, which have additional logic to map // from Python interned strings.

/**
  • The public interface for constructing an InternalName pointer. This will

  • return a new InternalName representing the indicated name, if this is the

  • first time the particular name has been requested; if the name is already

  • in use, it will return the existing pointer.

  • If the string contains the ‘.’ character, the string will be divided at the

  • dots and the so-defined hierarchy of names will be registered. This is

  • handled transparently.

*/

/**
  • Make using a string and an integer. Concatenates the two.

*/

name
output()

C++ Interface: output(InternalName self, ostream out)

/**

*/

parent