# GeomVertexArrayDataHandle

from pandac.PandaModules import GeomVertexArrayDataHandle

Class : GeomVertexArrayDataHandle
Description : This data object is returned by GeomVertexArrayData::get_handle() or modify_handle(). As long as it exists, the data is locked; when the last of these destructs, the data is unlocked.
Only one thread at a time may lock the data; other threads attempting to lock the data will block. A given thread may simultaneously lock the data multiple times.
This class serves in lieu of a pair of GeomVertexArrayDataPipelineReader and GeomVertexArrayDataPipelineWriter classes

## Inheritance:

GeomVertexArrayDataHandle: ReferenceCount GeomEnums
ReferenceCount: MemoryBase
MemoryBase:
GeomEnums:

## Methods of GeomVertexArrayDataHandle:

clearRows
copyDataFrom
copySubdataFrom
getArrayFormat
getClassType
getData
getDataSizeBytes
getModified
getNumRows
getObject
getSubdata
getUsageHint
markUsed
requestResident
setData
setNumRows
setSubdata
uncleanSetNumRows

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
testRefCountNonzero
unref

## Constants in GeomEnums:

UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)

clearRows void GeomVertexArrayDataHandle::clear_rows(void); Description:

copyDataFrom void GeomVertexArrayDataHandle::copy_data_from(GeomVertexArrayDataHandle const *other); Description: Copies the entire data array from the other object.

copySubdataFrom void GeomVertexArrayDataHandle::copy_subdata_from(unsigned int to_start, unsigned int to_size, GeomVertexArrayDataHandle const *other, unsigned int from_start, unsigned int from_size); Description: Copies a portion of the data array from the other object into a portion of the data array of this object. If to_size != from_size, the size of this data array is adjusted accordingly.

getArrayFormat GeomVertexArrayFormat const *GeomVertexArrayDataHandle::get_array_format(void) const; Description:

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

getData string GeomVertexArrayDataHandle::get_data(void) const; Description: Returns the entire raw data of the GeomVertexArrayData object, formatted as a string. This is primarily for the benefit of high-level languages such as Python.

getDataSizeBytes int GeomVertexArrayDataHandle::get_data_size_bytes(void) const; Description:

getModified UpdateSeq GeomVertexArrayDataHandle::get_modified(void) const; Description:

getNumRows int GeomVertexArrayDataHandle::get_num_rows(void) const; Description:

getObject GeomVertexArrayData const *GeomVertexArrayDataHandle::get_object(void) const; Description:

getSubdata string GeomVertexArrayDataHandle::get_subdata(unsigned int start, unsigned int size) const; Description: Returns a subset of the raw data of the GeomVertexArrayData object, formatted as a string. This is primarily for the benefit of high-level languages such as Python.

getUsageHint GeomEnums::UsageHint GeomVertexArrayDataHandle::get_usage_hint(void) const; Description:

markUsed void GeomVertexArrayDataHandle::mark_used(void) const; Description: Marks the array data recently-used.

requestResident bool GeomVertexArrayDataHandle::request_resident(void) const; Description: Returns true if the vertex data is currently resident in memory. If this returns true, the next call to get_handle()->get_read_pointer() will probably not block. If this returns false, the vertex data will be brought back into memory shortly; try again later.

setData void GeomVertexArrayDataHandle::set_data(string const &data); Description: Replaces the entire raw data array with the contents of the indicated string. This is primarily for the benefit of high-level languages like Python.

setNumRows bool GeomVertexArrayDataHandle::set_num_rows(int n); Description:

setSubdata void GeomVertexArrayDataHandle::set_subdata(unsigned int start, unsigned int size, string const &data); Description: Replaces a portion of the data array from the indicated string. If size != data.size(), the size of this data array is adjusted accordingly. This is primarily for the benefit of high-level languages like Python.

uncleanSetNumRows bool GeomVertexArrayDataHandle::unclean_set_num_rows(int n); Description:

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.