GeomVertexFormat

from panda3d.core import GeomVertexFormat
class GeomVertexFormat

Bases: TypedWritableReferenceCount, GeomEnums

This class defines the physical layout of the vertex data stored within a Geom. The layout consists of a list of named columns, each of which has a numeric type and a size.

The columns are typically interleaved within a single array, but they may also be distributed among multiple different arrays; at the extreme, each column may be alone within its own array (which amounts to a parallel-array definition).

Thus, a GeomVertexFormat is really a list of GeomVertexArrayFormats, each of which contains a list of columns. However, a particular column name should not appear more than once in the format, even between different arrays.

There are a handful of standard pre-defined GeomVertexFormat objects, or you may define your own as needed. You may record any combination of standard and/or user-defined columns in your custom GeomVertexFormat constructions.

Inheritance diagram

Inheritance diagram of GeomVertexFormat

__init__(*args, **kwargs)
addArray()

C++ Interface: add_array(const GeomVertexFormat self, const GeomVertexArrayFormat array_format)

/**
  • Adds the indicated array definition to the list of arrays included within

  • this vertex format definition. The return value is the index number of the

  • new array.

  • This may not be called once the format has been registered.

*/

add_array()

C++ Interface: add_array(const GeomVertexFormat self, const GeomVertexArrayFormat array_format)

/**
  • Adds the indicated array definition to the list of arrays included within

  • this vertex format definition. The return value is the index number of the

  • new array.

  • This may not be called once the format has been registered.

*/

alignColumnsForAnimation()

C++ Interface: align_columns_for_animation(const GeomVertexFormat self)

/**
  • Reprocesses the columns in the format to align the C_point and C_vector

  • columns to 16-byte boundaries to allow for the more efficient SSE2

  • operations (assuming SSE2 is enabled in the build).

  • Also see maybe_align_columns_for_animation().

*/

align_columns_for_animation()

C++ Interface: align_columns_for_animation(const GeomVertexFormat self)

/**
  • Reprocesses the columns in the format to align the C_point and C_vector

  • columns to 16-byte boundaries to allow for the more efficient SSE2

  • operations (assuming SSE2 is enabled in the build).

  • Also see maybe_align_columns_for_animation().

*/

animation
arrays
assign()

C++ Interface: assign(const GeomVertexFormat self, const GeomVertexFormat copy)

clearArrays()

C++ Interface: clear_arrays(const GeomVertexFormat self)

/**
  • Removes all of the array definitions from the format and starts over.

  • This may not be called once the format has been registered.

*/

clear_arrays()

C++ Interface: clear_arrays(const GeomVertexFormat self)

/**
  • Removes all of the array definitions from the format and starts over.

  • This may not be called once the format has been registered.

*/

columns

We also define this as a mapping interface, for lookups by name.

getAnimation()

C++ Interface: get_animation(GeomVertexFormat self)

/**
  • Returns the GeomVertexAnimationSpec that indicates how this format’s

  • vertices are set up for animation.

*/

getArray()

C++ Interface: get_array(GeomVertexFormat self, int array)

/**
  • Returns the description of the nth array used by the format.

*/

getArrayWith()

C++ Interface: get_array_with(GeomVertexFormat self, const InternalName name) get_array_with(GeomVertexFormat self, int i)

/**
  • Returns the index number of the array with the ith column.

  • The return value can be passed to get_array_format() to get the format of

  • the array. It may also be passed to GeomVertexData::get_array_data() or

  • get_data() or set_data() to manipulate the actual array data.

*/

/**
  • Returns the index number of the array with the indicated column, or -1 if

  • no arrays contained that name.

  • The return value can be passed to get_array_format() to get the format of

  • the array. It may also be passed to GeomVertexData::get_array_data() or

  • get_data() or set_data() to manipulate the actual array data.

  • This may only be called after the format has been registered.

*/

getArrays()
getClassType()

C++ Interface: get_class_type()

getColumn()

C++ Interface: get_column(GeomVertexFormat self, const InternalName name) get_column(GeomVertexFormat self, int i)

/**
  • Returns the ith column of the specification, across all arrays.

*/

/**
  • Returns the specification with the indicated name, or NULL if the name is

  • not used. Use get_array_with() to determine which array this column is

  • associated with.

*/

getColumnName()

C++ Interface: get_column_name(GeomVertexFormat self, int i)

/**
  • Returns the name of the ith column, across all arrays.

*/

getColumns()
getEmpty()

C++ Interface: get_empty()

/**
  • Returns a standard vertex format containing no arrays at all, useful for

  • pull-style vertex rendering.

*/

getMorphBase()

C++ Interface: get_morph_base(GeomVertexFormat self, int n)

/**
  • Returns the name of the base column that the nth morph modifies. This

  • column will also be defined within the format, and can be retrieved via

  • get_array_with() and/or get_column().

  • This may only be called after the format has been registered.

*/

getMorphBases()
getMorphDelta()

C++ Interface: get_morph_delta(GeomVertexFormat self, int n)

/**
  • Returns the name of the column that defines the nth morph. This contains

  • the delta offsets that are to be applied to the column defined by

  • get_morph_base(). This column will be defined within the format, and can

  • be retrieved via get_array_with() and/or get_column().

  • This may only be called after the format has been registered.

*/

getMorphDeltas()
getMorphSlider()

C++ Interface: get_morph_slider(GeomVertexFormat self, int n)

/**
  • Returns the slider name associated with the nth morph column. This is the

  • name of the slider that will control the morph, and should be defined

  • within the SliderTable associated with the GeomVertexData.

  • This may only be called after the format has been registered.

*/

getMorphSliders()
getNumArrays()

C++ Interface: get_num_arrays(GeomVertexFormat self)

/**
  • Returns the number of individual arrays required by the format. If the

  • array data is completely interleaved, this will be 1; if it is completely

  • parallel, this will be the same as the number of data types.

*/

getNumColumns()

C++ Interface: get_num_columns(GeomVertexFormat self)

/**
  • Returns the total number of different columns in the specification, across

  • all arrays.

*/

getNumMorphs()

C++ Interface: get_num_morphs(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent morph

  • deltas.

  • This may only be called after the format has been registered.

*/

getNumPoints()

C++ Interface: get_num_points(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent points in

  • space.

  • This may only be called after the format has been registered.

*/

getNumTexcoords()

C++ Interface: get_num_texcoords(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent texture

  • coordinates.

  • This may only be called after the format has been registered.

*/

getNumVectors()

C++ Interface: get_num_vectors(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent directional

  • vectors.

  • This may only be called after the format has been registered.

*/

getPoint()

C++ Interface: get_point(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth point column. This represents a point in

  • space, which should be transformed by any spatial transform matrix.

  • This may only be called after the format has been registered.

*/

getPoints()
getPostAnimatedFormat()

C++ Interface: get_post_animated_format(GeomVertexFormat self)

/**
  • Returns a suitable vertex format for sending the animated vertices to the

  • graphics backend. This is the same format as the source format, with the

  • CPU-animation data elements removed.

  • This may only be called after the format has been registered. The return

  • value will have been already registered.

*/

getPostInstancedFormat()

C++ Interface: get_post_instanced_format(GeomVertexFormat self)

/**
  • Returns a suitable vertex format for sending the animated vertices to the

  • graphics backend. This is the same format as the source format, with the

  • instancing columns added.

  • This may only be called after the format has been registered. The return

  • value will have been already registered.

*/

getTexcoord()

C++ Interface: get_texcoord(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth texcoord column. This represents a texture

  • coordinate.

  • This may only be called after the format has been registered.

*/

getTexcoords()
getUnionFormat()

C++ Interface: get_union_format(GeomVertexFormat self, const GeomVertexFormat other)

/**
  • Returns a new GeomVertexFormat that includes all of the columns defined in

  • either this GeomVertexFormat or the other one. If any column is defined in

  • both formats with different sizes (for instance, texcoord2 vs. texcoord3),

  • the new format will include the larger of the two definitions.

  • This may only be called after both source formats have been registered.

  • The return value will also have been already registered.

*/

getV3()

C++ Interface: get_v3()

// Some standard vertex formats. No particular requirement to use one of // these, but the DirectX renderers can use these formats directly, whereas // any other format will have to be converted first.

/**
  • Returns a standard vertex format with just a 3-component vertex position.

*/

getV3c()

C++ Interface: get_v3c()

// These are like the above, but automatically select the appropriate format // based on the setting of vertex-colors-prefer-packed.

/**
  • Returns a standard vertex format with a 4-component color and a 3-component

  • vertex position.

*/

getV3c4()

C++ Interface: get_v3c4()

// These formats, with an OpenGL-style four-byte color, are not supported // directly by DirectX. If you use them, the DXGraphicsStateGuardian will // automatically convert to DirectX form (with a larger runtime overhead, // since DirectX8, and old DirectX9 drivers, require everything to be // interleaved together).

/**
  • Returns a standard vertex format with a 4-component color and a 3-component

  • vertex position.

*/

getV3c4t2()

C++ Interface: get_v3c4t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, and a 3-component vertex position.

*/

getV3cp()

C++ Interface: get_v3cp()

// These formats, with the DirectX-style packed color, may not be supported // directly by OpenGL. If you use them and the driver does not support // them, the GLGraphicsStateGuardian will automatically convert to native // OpenGL form (with a small runtime overhead).

/**
  • Returns a standard vertex format with a packed color and a 3-component

  • vertex position.

*/

getV3cpt2()

C++ Interface: get_v3cpt2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a packed color, and a 3-component vertex position.

*/

getV3ct2()

C++ Interface: get_v3ct2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, and a 3-component vertex position.

*/

getV3n3()

C++ Interface: get_v3n3()

/**
  • Returns a standard vertex format with a 3-component normal and a

  • 3-component vertex position.

*/

getV3n3c()

C++ Interface: get_v3n3c()

/**
  • Returns a standard vertex format with a 4-component color, a 3-component

  • normal, and a 3-component vertex position.

*/

getV3n3c4()

C++ Interface: get_v3n3c4()

/**
  • Returns a standard vertex format with a 4-component color, a 3-component

  • normal, and a 3-component vertex position.

*/

getV3n3c4t2()

C++ Interface: get_v3n3c4t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, a 3-component normal, and a 3-component vertex

  • position.

*/

getV3n3cp()

C++ Interface: get_v3n3cp()

/**
  • Returns a standard vertex format with a packed color, a 3-component normal,

  • and a 3-component vertex position.

*/

getV3n3cpt2()

C++ Interface: get_v3n3cpt2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a packed color, a 3-component normal, and a 3-component vertex

  • position.

*/

getV3n3ct2()

C++ Interface: get_v3n3ct2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, a 3-component normal, and a 3-component vertex

  • position.

*/

getV3n3t2()

C++ Interface: get_v3n3t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 3-component normal, and a 3-component vertex position.

*/

getV3t2()

C++ Interface: get_v3t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate pair

  • and a 3-component vertex position.

*/

getVector()

C++ Interface: get_vector(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth vector column. This represents a directional

  • vector, which should be transformed by any spatial transform matrix as a

  • vector.

  • This may only be called after the format has been registered.

*/

getVectors()
get_animation()

C++ Interface: get_animation(GeomVertexFormat self)

/**
  • Returns the GeomVertexAnimationSpec that indicates how this format’s

  • vertices are set up for animation.

*/

get_array()

C++ Interface: get_array(GeomVertexFormat self, int array)

/**
  • Returns the description of the nth array used by the format.

*/

get_array_with()

C++ Interface: get_array_with(GeomVertexFormat self, const InternalName name) get_array_with(GeomVertexFormat self, int i)

/**
  • Returns the index number of the array with the ith column.

  • The return value can be passed to get_array_format() to get the format of

  • the array. It may also be passed to GeomVertexData::get_array_data() or

  • get_data() or set_data() to manipulate the actual array data.

*/

/**
  • Returns the index number of the array with the indicated column, or -1 if

  • no arrays contained that name.

  • The return value can be passed to get_array_format() to get the format of

  • the array. It may also be passed to GeomVertexData::get_array_data() or

  • get_data() or set_data() to manipulate the actual array data.

  • This may only be called after the format has been registered.

*/

get_arrays()
get_class_type()

C++ Interface: get_class_type()

get_column()

C++ Interface: get_column(GeomVertexFormat self, const InternalName name) get_column(GeomVertexFormat self, int i)

/**
  • Returns the ith column of the specification, across all arrays.

*/

/**
  • Returns the specification with the indicated name, or NULL if the name is

  • not used. Use get_array_with() to determine which array this column is

  • associated with.

*/

get_column_name()

C++ Interface: get_column_name(GeomVertexFormat self, int i)

/**
  • Returns the name of the ith column, across all arrays.

*/

get_columns()
get_empty()

C++ Interface: get_empty()

/**
  • Returns a standard vertex format containing no arrays at all, useful for

  • pull-style vertex rendering.

*/

get_morph_base()

C++ Interface: get_morph_base(GeomVertexFormat self, int n)

/**
  • Returns the name of the base column that the nth morph modifies. This

  • column will also be defined within the format, and can be retrieved via

  • get_array_with() and/or get_column().

  • This may only be called after the format has been registered.

*/

get_morph_bases()
get_morph_delta()

C++ Interface: get_morph_delta(GeomVertexFormat self, int n)

/**
  • Returns the name of the column that defines the nth morph. This contains

  • the delta offsets that are to be applied to the column defined by

  • get_morph_base(). This column will be defined within the format, and can

  • be retrieved via get_array_with() and/or get_column().

  • This may only be called after the format has been registered.

*/

get_morph_deltas()
get_morph_slider()

C++ Interface: get_morph_slider(GeomVertexFormat self, int n)

/**
  • Returns the slider name associated with the nth morph column. This is the

  • name of the slider that will control the morph, and should be defined

  • within the SliderTable associated with the GeomVertexData.

  • This may only be called after the format has been registered.

*/

get_morph_sliders()
get_num_arrays()

C++ Interface: get_num_arrays(GeomVertexFormat self)

/**
  • Returns the number of individual arrays required by the format. If the

  • array data is completely interleaved, this will be 1; if it is completely

  • parallel, this will be the same as the number of data types.

*/

get_num_columns()

C++ Interface: get_num_columns(GeomVertexFormat self)

/**
  • Returns the total number of different columns in the specification, across

  • all arrays.

*/

get_num_morphs()

C++ Interface: get_num_morphs(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent morph

  • deltas.

  • This may only be called after the format has been registered.

*/

get_num_points()

C++ Interface: get_num_points(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent points in

  • space.

  • This may only be called after the format has been registered.

*/

get_num_texcoords()

C++ Interface: get_num_texcoords(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent texture

  • coordinates.

  • This may only be called after the format has been registered.

*/

get_num_vectors()

C++ Interface: get_num_vectors(GeomVertexFormat self)

/**
  • Returns the number of columns within the format that represent directional

  • vectors.

  • This may only be called after the format has been registered.

*/

get_point()

C++ Interface: get_point(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth point column. This represents a point in

  • space, which should be transformed by any spatial transform matrix.

  • This may only be called after the format has been registered.

*/

get_points()
get_post_animated_format()

C++ Interface: get_post_animated_format(GeomVertexFormat self)

/**
  • Returns a suitable vertex format for sending the animated vertices to the

  • graphics backend. This is the same format as the source format, with the

  • CPU-animation data elements removed.

  • This may only be called after the format has been registered. The return

  • value will have been already registered.

*/

get_post_instanced_format()

C++ Interface: get_post_instanced_format(GeomVertexFormat self)

/**
  • Returns a suitable vertex format for sending the animated vertices to the

  • graphics backend. This is the same format as the source format, with the

  • instancing columns added.

  • This may only be called after the format has been registered. The return

  • value will have been already registered.

*/

get_texcoord()

C++ Interface: get_texcoord(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth texcoord column. This represents a texture

  • coordinate.

  • This may only be called after the format has been registered.

*/

get_texcoords()
get_union_format()

C++ Interface: get_union_format(GeomVertexFormat self, const GeomVertexFormat other)

/**
  • Returns a new GeomVertexFormat that includes all of the columns defined in

  • either this GeomVertexFormat or the other one. If any column is defined in

  • both formats with different sizes (for instance, texcoord2 vs. texcoord3),

  • the new format will include the larger of the two definitions.

  • This may only be called after both source formats have been registered.

  • The return value will also have been already registered.

*/

get_v3()

C++ Interface: get_v3()

// Some standard vertex formats. No particular requirement to use one of // these, but the DirectX renderers can use these formats directly, whereas // any other format will have to be converted first.

/**
  • Returns a standard vertex format with just a 3-component vertex position.

*/

get_v3c()

C++ Interface: get_v3c()

// These are like the above, but automatically select the appropriate format // based on the setting of vertex-colors-prefer-packed.

/**
  • Returns a standard vertex format with a 4-component color and a 3-component

  • vertex position.

*/

get_v3c4()

C++ Interface: get_v3c4()

// These formats, with an OpenGL-style four-byte color, are not supported // directly by DirectX. If you use them, the DXGraphicsStateGuardian will // automatically convert to DirectX form (with a larger runtime overhead, // since DirectX8, and old DirectX9 drivers, require everything to be // interleaved together).

/**
  • Returns a standard vertex format with a 4-component color and a 3-component

  • vertex position.

*/

get_v3c4t2()

C++ Interface: get_v3c4t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, and a 3-component vertex position.

*/

get_v3cp()

C++ Interface: get_v3cp()

// These formats, with the DirectX-style packed color, may not be supported // directly by OpenGL. If you use them and the driver does not support // them, the GLGraphicsStateGuardian will automatically convert to native // OpenGL form (with a small runtime overhead).

/**
  • Returns a standard vertex format with a packed color and a 3-component

  • vertex position.

*/

get_v3cpt2()

C++ Interface: get_v3cpt2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a packed color, and a 3-component vertex position.

*/

get_v3ct2()

C++ Interface: get_v3ct2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, and a 3-component vertex position.

*/

get_v3n3()

C++ Interface: get_v3n3()

/**
  • Returns a standard vertex format with a 3-component normal and a

  • 3-component vertex position.

*/

get_v3n3c()

C++ Interface: get_v3n3c()

/**
  • Returns a standard vertex format with a 4-component color, a 3-component

  • normal, and a 3-component vertex position.

*/

get_v3n3c4()

C++ Interface: get_v3n3c4()

/**
  • Returns a standard vertex format with a 4-component color, a 3-component

  • normal, and a 3-component vertex position.

*/

get_v3n3c4t2()

C++ Interface: get_v3n3c4t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, a 3-component normal, and a 3-component vertex

  • position.

*/

get_v3n3cp()

C++ Interface: get_v3n3cp()

/**
  • Returns a standard vertex format with a packed color, a 3-component normal,

  • and a 3-component vertex position.

*/

get_v3n3cpt2()

C++ Interface: get_v3n3cpt2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a packed color, a 3-component normal, and a 3-component vertex

  • position.

*/

get_v3n3ct2()

C++ Interface: get_v3n3ct2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 4-component color, a 3-component normal, and a 3-component vertex

  • position.

*/

get_v3n3t2()

C++ Interface: get_v3n3t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate

  • pair, a 3-component normal, and a 3-component vertex position.

*/

get_v3t2()

C++ Interface: get_v3t2()

/**
  • Returns a standard vertex format with a 2-component texture coordinate pair

  • and a 3-component vertex position.

*/

get_vector()

C++ Interface: get_vector(GeomVertexFormat self, int n)

/**
  • Returns the name of the nth vector column. This represents a directional

  • vector, which should be transformed by any spatial transform matrix as a

  • vector.

  • This may only be called after the format has been registered.

*/

get_vectors()
hasColumn()

C++ Interface: has_column(GeomVertexFormat self, const InternalName name)

/**
  • Returns true if the format has the named column, false otherwise.

*/

has_column()

C++ Interface: has_column(GeomVertexFormat self, const InternalName name)

/**
  • Returns true if the format has the named column, false otherwise.

*/

insertArray()

C++ Interface: insert_array(const GeomVertexFormat self, int array, const GeomVertexArrayFormat array_format)

/**
  • Adds the indicated array definition to the list of arrays at the indicated

  • position. This works just like add_array(), except that you can specify

  • which array index the new array should have.

  • This may not be called once the format has been registered.

*/

insert_array()

C++ Interface: insert_array(const GeomVertexFormat self, int array, const GeomVertexArrayFormat array_format)

/**
  • Adds the indicated array definition to the list of arrays at the indicated

  • position. This works just like add_array(), except that you can specify

  • which array index the new array should have.

  • This may not be called once the format has been registered.

*/

isRegistered()

C++ Interface: is_registered(GeomVertexFormat self)

/**
  • Returns true if this format has been registered, false if it has not. It

  • may not be used for a Geom until it has been registered, but once

  • registered, it may no longer be modified.

*/

is_registered()

C++ Interface: is_registered(GeomVertexFormat self)

/**
  • Returns true if this format has been registered, false if it has not. It

  • may not be used for a Geom until it has been registered, but once

  • registered, it may no longer be modified.

*/

maybeAlignColumnsForAnimation()

C++ Interface: maybe_align_columns_for_animation(const GeomVertexFormat self)

/**
  • Calls align_columns_for_animation() if this format’s AnimationSpec

  • indicates that it contains animated vertices, and if vertex-animation-

  • align-16 is true.

*/

maybe_align_columns_for_animation()

C++ Interface: maybe_align_columns_for_animation(const GeomVertexFormat self)

/**
  • Calls align_columns_for_animation() if this format’s AnimationSpec

  • indicates that it contains animated vertices, and if vertex-animation-

  • align-16 is true.

*/

modifyArray()

C++ Interface: modify_array(const GeomVertexFormat self, int array)

/**
  • Returns a modifiable pointer to the indicated array. This means

  • duplicating it if it is shared or registered.

  • This may not be called once the format has been registered.

*/

modify_array()

C++ Interface: modify_array(const GeomVertexFormat self, int array)

/**
  • Returns a modifiable pointer to the indicated array. This means

  • duplicating it if it is shared or registered.

  • This may not be called once the format has been registered.

*/

output()

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

/**

*/

packColumns()

C++ Interface: pack_columns(const GeomVertexFormat self)

/**
  • Removes wasted space between columns.

*/

pack_columns()

C++ Interface: pack_columns(const GeomVertexFormat self)

/**
  • Removes wasted space between columns.

*/

points
registerFormat()

C++ Interface: register_format(const GeomVertexArrayFormat format)

/**
  • Adds the indicated format to the registry, if there is not an equivalent

  • format already there; in either case, returns the pointer to the equivalent

  • format now in the registry.

  • This must be called before a format may be used in a Geom. After this

  • call, you should discard the original pointer you passed in (which may or

  • may not now be invalid) and let its reference count decrement normally; you

  • should use only the returned value from this point on.

*/

/**
  • This flavor of register_format() implicitly creates a one-array vertex

  • format from the array definition.

*/

register_format()

C++ Interface: register_format(const GeomVertexArrayFormat format)

/**
  • Adds the indicated format to the registry, if there is not an equivalent

  • format already there; in either case, returns the pointer to the equivalent

  • format now in the registry.

  • This must be called before a format may be used in a Geom. After this

  • call, you should discard the original pointer you passed in (which may or

  • may not now be invalid) and let its reference count decrement normally; you

  • should use only the returned value from this point on.

*/

/**
  • This flavor of register_format() implicitly creates a one-array vertex

  • format from the array definition.

*/

registered
removeArray()

C++ Interface: remove_array(const GeomVertexFormat self, int array)

/**
  • Removes the nth array from the format.

  • This may not be called once the format has been registered.

*/

removeColumn()

C++ Interface: remove_column(const GeomVertexFormat self, const InternalName name, bool keep_empty_array)

/**
  • Removes the named column from the format, from whichever array it exists

  • in. If there are other columns remaining in the array, the array is left

  • with a gap where the column used to be; if this was the only column in the

  • array, the array is removed (unless keep_empty_array is true).

  • This may not be called once the format has been registered.

*/

removeEmptyArrays()

C++ Interface: remove_empty_arrays(const GeomVertexFormat self)

/**
  • Removes the arrays that define no columns.

  • This may not be called once the format has been registered.

*/

remove_array()

C++ Interface: remove_array(const GeomVertexFormat self, int array)

/**
  • Removes the nth array from the format.

  • This may not be called once the format has been registered.

*/

remove_column()

C++ Interface: remove_column(const GeomVertexFormat self, const InternalName name, bool keep_empty_array)

/**
  • Removes the named column from the format, from whichever array it exists

  • in. If there are other columns remaining in the array, the array is left

  • with a gap where the column used to be; if this was the only column in the

  • array, the array is removed (unless keep_empty_array is true).

  • This may not be called once the format has been registered.

*/

remove_empty_arrays()

C++ Interface: remove_empty_arrays(const GeomVertexFormat self)

/**
  • Removes the arrays that define no columns.

  • This may not be called once the format has been registered.

*/

setAnimation()

C++ Interface: set_animation(const GeomVertexFormat self, const GeomVertexAnimationSpec animation)

/**
  • Resets the GeomVertexAnimationSpec that indicates how this format’s

  • vertices are set up for animation. You should also, of course, change the

  • columns in the tables accordingly.

  • This may not be called once the format has been registered.

*/

setArray()

C++ Interface: set_array(const GeomVertexFormat self, int array, const GeomVertexArrayFormat format)

/**
  • Replaces the definition of the indicated array.

  • This may not be called once the format has been registered.

*/

set_animation()

C++ Interface: set_animation(const GeomVertexFormat self, const GeomVertexAnimationSpec animation)

/**
  • Resets the GeomVertexAnimationSpec that indicates how this format’s

  • vertices are set up for animation. You should also, of course, change the

  • columns in the tables accordingly.

  • This may not be called once the format has been registered.

*/

set_array()

C++ Interface: set_array(const GeomVertexFormat self, int array, const GeomVertexArrayFormat format)

/**
  • Replaces the definition of the indicated array.

  • This may not be called once the format has been registered.

*/

unref()

C++ Interface: unref(GeomVertexFormat self)

/**
  • This method overrides ReferenceCount::unref() to unregister the object when

  • its reference count goes to zero.

*/

upcastToGeomEnums()

C++ Interface: upcast_to_GeomEnums(const GeomVertexFormat self)

upcast from GeomVertexFormat to GeomEnums

upcastToTypedWritableReferenceCount()

C++ Interface: upcast_to_TypedWritableReferenceCount(const GeomVertexFormat self)

upcast from GeomVertexFormat to TypedWritableReferenceCount

upcast_to_GeomEnums()

C++ Interface: upcast_to_GeomEnums(const GeomVertexFormat self)

upcast from GeomVertexFormat to GeomEnums

upcast_to_TypedWritableReferenceCount()

C++ Interface: upcast_to_TypedWritableReferenceCount(const GeomVertexFormat self)

upcast from GeomVertexFormat to TypedWritableReferenceCount

vectors
write()

C++ Interface: write(GeomVertexFormat self, ostream out, int indent_level)

/**

*/

writeWithData()

C++ Interface: write_with_data(GeomVertexFormat self, ostream out, int indent_level, const GeomVertexData data)

/**

*/

write_with_data()

C++ Interface: write_with_data(GeomVertexFormat self, ostream out, int indent_level, const GeomVertexData data)

/**

*/