# InternalName

from pandac.PandaModules import InternalName

Class : InternalName
Description : 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:

InternalName: TypedWritableReferenceCount
TypedWritableReferenceCount: TypedWritable ReferenceCount
TypedWritable: TypedObject
TypedObject: MemoryBase
MemoryBase:
ReferenceCount: MemoryBase

## Methods of InternalName:

append
findAncestor
getAncestor
getAspectRatio
getBasename
getBinormal
getBinormalName
getCamera
getClassType
getColor
getError
getIndex
getModel
getMorph
getName
getNetBasename
getNormal
getParent
getRoot
getRotate
getSize
getTangent
getTangentName
getTexcoord
getTexcoordName
getTop
getTransformBlend
getTransformIndex
getTransformWeight
getVertex
getView
getWorld
make
output

## Methods of TypedWritableReferenceCount:

getClassType

## Methods of TypedWritable:

getClassType

## Methods of TypedObject:

getClassType
getType
getTypeIndex
isExactType
isOfType

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
testRefCountNonzero
unref

append PointerTo< InternalName > InternalName::append(string const &basename); Description: 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").

findAncestor int InternalName::find_ancestor(string const &basename) const; Description: 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 InternalName const *InternalName::get_ancestor(int n) const; Description: 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 static PointerTo< InternalName > InternalName::get_aspect_ratio(void); Description: 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 string const &InternalName::get_basename(void) const; Description: Return the name represented by just this particular InternalName object, ignoring its parents names. This is everything after the rightmost dot.

getBinormal static PointerTo< InternalName > InternalName::get_binormal(void); Description: 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 static PointerTo< InternalName > InternalName::get_binormal_name(string const &name); Description: 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 static PointerTo< InternalName > InternalName::get_camera(void); Description: Returns the standard InternalName "camera". This is used as a keyword in the shader subsystem.

getClassType static TypeHandle InternalName::get_class_type(void); Undocumented function.

getColor static PointerTo< InternalName > InternalName::get_color(void); Description: Returns the standard InternalName "color". This is the column header for the 4-component color value for each vertex.

getError static PointerTo< InternalName > InternalName::get_error(void); Some predefined built-in names. Description: Returns the standard InternalName "error".

getIndex static PointerTo< InternalName > InternalName::get_index(void); Description: 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.

getModel static PointerTo< InternalName > InternalName::get_model(void); Description: Returns the standard InternalName "model". This is used as a keyword in the shader subsystem.

getMorph static PointerTo< InternalName > InternalName::get_morph(InternalName *column, string const &slider); Description: 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 string InternalName::get_name(void) const; Description: Returns the complete name represented by the InternalName and all of its parents.

getNetBasename string InternalName::get_net_basename(int n) const; Description: 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 static PointerTo< InternalName > InternalName::get_normal(void); Description: Returns the standard InternalName "normal". This is the column header for the 3-d lighting normal for each vertex.

getParent InternalName *InternalName::get_parent(void) const; Description: Return the parent of this InternalName. All names have a parent, except the root name.

getRoot static PointerTo< InternalName > InternalName::get_root(void); Some predefined built-in names. Description: 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 static PointerTo< InternalName > InternalName::get_rotate(void); Description: 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 static PointerTo< InternalName > InternalName::get_size(void); Description: 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 static PointerTo< InternalName > InternalName::get_tangent(void); Description: 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 static PointerTo< InternalName > InternalName::get_tangent_name(string const &name); Description: 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 static PointerTo< InternalName > InternalName::get_texcoord(void); Description: 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 static PointerTo< InternalName > InternalName::get_texcoord_name(string const &name); Description: 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 InternalName const *InternalName::get_top(void) const; Description: 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 static PointerTo< InternalName > InternalName::get_transform_blend(void); Description: 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 static PointerTo< InternalName > InternalName::get_transform_index(void); Description: 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 static PointerTo< InternalName > InternalName::get_transform_weight(void); Description: 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 static PointerTo< InternalName > InternalName::get_vertex(void); Description: Returns the standard InternalName "vertex". This is the column header for the 3-d or 4-d vertex position information for each vertex.

getView static PointerTo< InternalName > InternalName::get_view(void); Description: Returns the standard InternalName "view". This is used as a keyword in the shader subsystem.

getWorld static PointerTo< InternalName > InternalName::get_world(void); Description: Returns the standard InternalName "world". This is used as a keyword in the shader subsystem.

make static PointerTo< InternalName > InternalName::make(string const &name); Filename: internalName.I Created by: masad (15Jul04) PANDA 3D SOFTWARE Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved All use of this software is subject to the terms of the Panda 3d Software license. You should have received a copy of this license along with this source code; you will also find a current copy of the license at http://etc.cmu.edu/panda3d/docs/license/ . To contact the maintainers of this program write to panda3d-general@lists.sourceforge.net . Description: 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.

output void InternalName::output(ostream &out) const; Description:

getClassType static TypeHandle TypedWritableReferenceCount::get_class_type(void); Undocumented function.

getClassType static TypeHandle TypedWritable::get_class_type(void); Undocumented function.

getClassType static TypeHandle TypedObject::get_class_type(void); Undocumented function.

getType virtual TypeHandle TypedObject::get_type(void) const = 0; Derived classes should override this function to return get_class_type().

getTypeIndex int TypedObject::get_type_index(void) const; Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType bool TypedObject::is_exact_type(TypeHandle handle) const; Description: Returns true if the current object is the indicated type exactly.

isOfType bool TypedObject::is_of_type(TypeHandle handle) const; Description: Returns true if the current object is or derives from the indicated type.

getClassType static TypeHandle ReferenceCount::get_class_type(void); Undocumented function.

getRefCount int ReferenceCount::get_ref_count(void) const; Description: Returns the current reference count.

ref void ReferenceCount::ref(void) const; Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity bool ReferenceCount::test_ref_count_integrity(void) const; Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero bool ReferenceCount::test_ref_count_nonzero(void) const; Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref bool ReferenceCount::unref(void) const; Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete(). User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it. The return value is true if the new reference count is nonzero, false if it is zero.