File Geodatabase API
FileGDBAPI::MultiPatchShapeBuffer Class Reference

MultiPatch Shape Buffer accessor functions. More...

Inherits FileGDBAPI::ShapeBuffer.

Public Member Functions

fgdbError GetExtent (double *&extent) const
 Get a pointer to the geomtries extent. More...
 
fgdbError GetNumParts (int &numParts) const
 Get the number of parts. More...
 
fgdbError GetNumPoints (int &numPoints) const
 Get the number of coordinates in the geometry. More...
 
fgdbError GetParts (int *&parts) const
 Get a pointer to the parts array. More...
 
fgdbError GetPartDescriptors (int *&partDescriptorArray) const
 Get a pointer to the part descriptor array. More...
 
fgdbError GetPoints (Point *&points) const
 Get a pointer to the point array. More...
 
fgdbError GetZExtent (double *&zExtent) const
 Get a pointer to the z extent. More...
 
fgdbError GetZs (double *&zArray) const
 Get a pointer to the z array. More...
 
fgdbError GetMExtent (double *&mExtent) const
 Get a pointer to the m extent. More...
 
fgdbError GetMs (double *&mArray) const
 Get a pointer to the m array. More...
 
fgdbError GetIDs (int *&ids) const
 Get a pointer to the id array. More...
 
fgdbError GetNormals (float *&normals) const
 Get a pointer to the normals array. More...
 
fgdbError GetTextures (int &numTextures, int &textureDimension, int *&textureParts, float *&textureCoords) const
 Returns textures. More...
 
fgdbError GetMaterials (int &numMaterials, int &compressionType, int *&materialParts, byte *&materials) const
 Returns materials. More...
 
fgdbError Setup (ShapeType shapeType, int numParts, int numPoints, int numTextures=0, int textureDimension=0, int numMaterials=0, size_t materialsLength=0)
 Setup a shape buffer for insert. More...
 
fgdbError CalculateExtent (void)
 Calculates the extent for the shape after all of the coordinate arrays have been filled. More...
 
- Public Member Functions inherited from FileGDBAPI::ShapeBuffer
bool Allocate (size_t length)
 Allocates a byte array of the specified size. More...
 
bool IsEmpty (void) const
 Is the ShapeBuffer empty. More...
 
void SetEmpty (void)
 Set the ShapeBuffer empty.
 
fgdbError GetShapeType (ShapeType &shapeType) const
 Gets the shape type from the shape buffer. More...
 
fgdbError GetGeometryType (GeometryType &geometryType) const
 Gets the geometry type which corresponds to the shape type in the shape buffer. More...
 
 ShapeBuffer (size_t length=0)
 The class constructor.
 
virtual ~ShapeBuffer ()
 The class destructor.
 

Additional Inherited Members

- Static Public Member Functions inherited from FileGDBAPI::ShapeBuffer
static bool HasZs (ShapeType shapeType)
 Does the shape buffer contain Z values. More...
 
static bool HasMs (ShapeType shapeType)
 Does the shape buffer contain Ms. More...
 
static bool HasIDs (ShapeType shapeType)
 Does the shape buffer contain IDs. More...
 
static bool HasCurves (ShapeType shapeType)
 Does the shape buffer contain Curves. More...
 
static bool HasNormals (ShapeType shapeType)
 Does the shape buffer includes Normals. More...
 
static bool HasTextures (ShapeType shapeType)
 Does the shape buffer include Textures. More...
 
static bool HasMaterials (ShapeType shapeType)
 Does the shape buffer include Materials. More...
 
static GeometryType GetGeometryType (ShapeType shapeType)
 Gets the geometry type from a shape type. More...
 
- Public Attributes inherited from FileGDBAPI::ShapeBuffer
byte * shapeBuffer
 The underlying byte array.
 
size_t allocatedLength
 The capacity of the byte array.
 
size_t inUseLength
 The number of bytes being used in the array.
 

Detailed Description

MultiPatch Shape Buffer accessor functions.

These functions provide access to the shape buffer. Consult the extended shapefile format document for the buffer layout.

Member Function Documentation

fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetExtent ( double *&  extent) const

Get a pointer to the geomtries extent.

Parameters
[out]extentA pointer to the geometries extent.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetNumParts ( int &  numParts) const

Get the number of parts.

Parameters
[out]numPartsThe number of parts in the geometry.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetNumPoints ( int &  numPoints) const

Get the number of coordinates in the geometry.

Parameters
[out]numPointsThe number of points.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetParts ( int *&  parts) const

Get a pointer to the parts array.

Parameters
[out]partsA pointer to the parts array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetPartDescriptors ( int *&  partDescriptorArray) const

Get a pointer to the part descriptor array.

Parameters
[out]partDescriptorArrayA pointer to the part descriptor array.
Returns
Error code indicating whether the method finished successfully
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetPoints ( Point *&  points) const

Get a pointer to the point array.

Parameters
[out]pointsA pointer to the point array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetZExtent ( double *&  zExtent) const

Get a pointer to the z extent.

Parameters
[out]zExtentA pointer to the z extent.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetZs ( double *&  zArray) const

Get a pointer to the z array.

Parameters
[out]zArrayA pointer to the z array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetMExtent ( double *&  mExtent) const

Get a pointer to the m extent.

Parameters
[out]mExtentA pointer to the m extent.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetMs ( double *&  mArray) const

Get a pointer to the m array.

Parameters
[out]mArrayA pointer to the m array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetIDs ( int *&  ids) const

Get a pointer to the id array.

Parameters
[out]idsA pointer to the id array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetNormals ( float *&  normals) const

Get a pointer to the normals array.

Parameters
[out]normalsA pointer to the normals array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetTextures ( int &  numTextures,
int &  textureDimension,
int *&  textureParts,
float *&  textureCoords 
) const

Returns textures.

Parameters
[out]numTexturesThe number of textures
[out]textureDimensionThe texture dimension.
[out]texturePartsA pointer to the texture parts.
[out]textureCoordsA pointer to the texture coordinates.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::GetMaterials ( int &  numMaterials,
int &  compressionType,
int *&  materialParts,
byte *&  materials 
) const

Returns materials.

Parameters
[out]numMaterialsThe number of materials
[out]compressionTypeThe compression type.
[out]materialPartsA pointer to the number of material parts.
[out]materialsA pointer to the materials array.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::Setup ( ShapeType  shapeType,
int  numParts,
int  numPoints,
int  numTextures = 0,
int  textureDimension = 0,
int  numMaterials = 0,
size_t  materialsLength = 0 
)

Setup a shape buffer for insert.

Allocates the correct length buffer for the selected shape type.

Parameters
[in]shapeTypeThe shape type of the buffer. Shape Type
[in]numPartsThe number of parts that the geometry will contain.
[in]numPointsThe number of points that the geometry will contain.
[in]numTexturesThe number of textures that the geometry will contain, defaults to zero.
[in]textureDimensionThe textureDimension that the geometry will contain, defaults to zero.
[in]numMaterialsThe number of materials that the geometry will contain, defaults to zero.
[in]materialsLengthThe size in bytes of the materials block, defaults to zero.
Returns
Error code indicating whether the method finished successfully.
fgdbError FileGDBAPI::MultiPatchShapeBuffer::CalculateExtent ( void  )

Calculates the extent for the shape after all of the coordinate arrays have been filled.

Returns
Error code indicating whether the method finished successfully.