Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RpClump
[Scene Management]


Data Structures

struct   RpClump

Typedefs

typedef RpClump *(*  RpClumpCallBack )(RpClump *clump, void *data)

Functions

void  RpClumpSetFreeListCreateParams (RwInt32 blockSize, RwInt32 numBlocksToPrealloc)
RwInt32  RpClumpGetNumAtomics (RpClump *clump)
RwInt32  RpClumpGetNumLights (RpClump *clump)
RwInt32  RpClumpGetNumCameras (RpClump *clump)
RpClump RpClumpCreateSpace (const RwV3d *position, RwReal radius)
RpClump RpClumpRender (RpClump *clump)
RpClump RpClumpForAllAtomics (RpClump *clump, RpAtomicCallBack callback, void *pData)
RpClump RpClumpForAllCameras (RpClump *clump, RwCameraCallBack callback, void *pData)
RpClump RpClumpForAllLights (RpClump *clump, RpLightCallBack callback, void *pData)
RpClump RpClumpClone (RpClump *clump)
RpClump RpClumpSetCallBack (RpClump *clump, RpClumpCallBack callback)
RpClumpCallBack  RpClumpGetCallBack (const RpClump *clump)
RpClump RpClumpCreate (void)
RwBool  RpClumpDestroy (RpClump *clump)
RpClump RpClumpAddAtomic (RpClump *clump, RpAtomic *atomic)
RpClump RpClumpRemoveAtomic (RpClump *clump, RpAtomic *atomic)
RpClump RpClumpAddLight (RpClump *clump, RpLight *light)
RpClump RpClumpRemoveLight (RpClump *clump, RpLight *light)
RpClump RpClumpAddCamera (RpClump *clump, RwCamera *camera)
RpClump RpClumpRemoveCamera (RpClump *clump, RwCamera *camera)
RwUInt32  RpClumpStreamGetSize (RpClump *clump)
RpClump RpClumpStreamWrite (RpClump *clump, RwStream *stream)
RpClump RpClumpStreamRead (RwStream *stream)
RwInt32  RpClumpRegisterPlugin (RwInt32 size, RwUInt32 pluginID, RwPluginObjectConstructor constructCB, RwPluginObjectDestructor destructCB, RwPluginObjectCopy copyCB)
RwInt32  RpClumpRegisterPluginStream (RwUInt32 pluginID, RwPluginDataChunkReadCallBack readCB, RwPluginDataChunkWriteCallBack writeCB, RwPluginDataChunkGetSizeCallBack getSizeCB)
RwInt32  RpClumpSetStreamAlwaysCallBack (RwUInt32 pluginID, RwPluginDataChunkAlwaysCallBack alwaysCB)
RwInt32  RpClumpGetPluginOffset (RwUInt32 pluginID)
RwBool  RpClumpValidatePlugins (const RpClump *clump)
RpClump RpClumpSetFrame (RpClump *clump, RwFrame *frame)
RwFrame RpClumpGetFrame (const RpClump *clump)
RpWorld RpClumpGetWorld (const RpClump *clump)

Detailed Description

Clumps

RpClump Overview

Requirements

Overview

Clumps are containers for Atomics RpAtomic and can also be linked to their own Frame RwFrame. Clumps are intended to group related Atomics together. The Atomics are stored by reference, so an Atomic can be stored in more than one Clump if necessary. A Frame object can be added to a Clump. If the Frame is then linked to others attached to the Atomics contained within the Clump, developers can then move the entire group of Atomics by simply repositioning the Clump as changes to the Clump's Frame will get propagated down through the hierarchy. Geometry lighting by dynamic lights RpLight can be enabled and disabled at the Atomic level. Further information is available in the Dynamic Models chapter of the User Guide.


Typedef Documentation

typedef RpClump*(* RpClumpCallBack)(RpClump * clump, void *data)
 

RpClumpCallBack represents the function called from RwCameraForAllClumpsInFrustum when a clump lies inside the current camera's view frustum. It is also the callback type used with RpWorldForAllClumps.

This function should return a pointer to the current clump to indicate success. The callback may return NULL to terminate further callbacks on the clumps.

Parameters:
clump  Pointer to the current clump, supplied by iterator.
data  Pointer to developer-defined data structure.
Returns:
Pointer to the current clump.
See also:
RpWorldForAllClumps , RpClumpGetCallBack , RpClumpSetCallBack , RwCameraForAllClumpsInFrustum

Function Documentation

RpClump* RpClumpAddAtomic RpClump   clump,
RpAtomic   atomic
 

RpClumpAddAtomic is used to add the specified atomic to the given clump. It is assumed that the atomic has not been previously added to a world (it is not necessary to add an atomic to a world if the atomic is already attached to a clump). The frame hierarchy defined in the clump determines where in the clump the atomic resides.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
atomic  Pointer to the atomic.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpRemoveAtomic , RpAtomicSetFrame , RpClumpSetFrame , RwFrameCreate , RpWorldAddAtomic , RpWorldPluginAttach
RpClump* RpClumpAddCamera RpClump   clump,
RwCamera   camera
 

RpClumpAddCamera is used to add the specified camera to the given clump. It is assumed that the camera has not been previously added to a world (it is not necessary to add an camera to a world if the camera is already attached to a clump). The frame hierarchy defined in the clump determines where in the clump the camera resides.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
camera  Pointer to the camera.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpRemoveCamera , RwCameraSetFrame , RpClumpSetFrame , RwFrameCreate , RpWorldAddCamera , RpWorldPluginAttach
RpClump* RpClumpAddLight RpClump   clump,
RpLight   light
 

RpClumpAddLight is used to add the specified light to the given clump. It is assumed that the light has not been previously added to a world (it is not necessary to add a light to a world if the light is already attached to a clump). The frame hierarchy defined in the clump determines where in the clump the light resides.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
light  Pointer to the light.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpRemoveLight , RpLightSetFrame , RpClumpSetFrame , RwFrameCreate , RpWorldAddLight , RpWorldPluginAttach
RpClump* RpClumpClone RpClump   clump
 

RpClumpClone is used to duplicate the specified clump. This function creates and initializes a new clump and copies the old clump's atomics and their frame hierarchy to the new one. The frustum callback function is also copied. If there are any plugins registered with the clump then the associated plugin data is also copied to the new clump using the registered copy constructor function.

RpClumpClone does not guarantee to preserve the order of the atomics. If the order is important, contact Developer Relations.

Cloning of any lights and cameras attached to the clump is not currently supported. The new clump will have empty light and camera lists.

Note that each new atomic created using this function will reference the same geometry as the original and the reference count on the geometry will be incremented. When the copy is destroyed the referenced geometry will not be destroyed as it will still be referenced by the original atomic.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump that is to be cloned.
Returns:
Returns a pointer to the new clump if successful or NULL if there is an error.
See also:
RpClumpCreate , RpClumpDestroy , RpClumpCreateSpace , RpClumpGetCallBack , RpClumpSetCallBack , RpAtomicClone , RwFrameCloneHierarchy , RpClumpRegisterPlugin , RpWorldPluginAttach
RpClump* RpClumpCreate void   
 

RpClumpCreate is used to create and initialize a new clump. Clumps are used as containers for groups of atomics and their frame hierarchy.

The world plugin must be attached before using this function.

Returns:
Returns a pointer to the new clump if successful or NULL if there is an error.
See also:
RpClumpDestroy , RpClumpClone , RpClumpCreateSpace , RpClumpSetFrame , RpClumpGetFrame , RpClumpAddAtomic , RpClumpRemoveAtomic , RpClumpForAllAtomics , RpClumpGetNumAtomics , RpClumpRender , RpClumpGetWorld , RpWorldAddClump , RpWorldPluginAttach
RpClump* RpClumpCreateSpace const RwV3d   position,
RwReal    radius
 

RpClumpCreateSpace is used to create a space holder clump at the given position in world space and with the specified bounding sphere radius. This function creates a clump that is not rendered but still takes place in collision detection. Useful for immediate mode hooks and frustum testing on points in the world via clump callbacks.

The world plugin must be attached before using this function.

Parameters:
position  Pointer to a RwV3d value equal to the position of the clump.
radius  A RwReal value equal to the bounding sphere radius.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpCreate , RpClumpDestroy , RpClumpClone , RpGeometryCreateSpace , RpWorldPluginAttach
RwBool RpClumpDestroy RpClump   clump
 

RpClumpDestroy is used to destroy the specified clump including all atomics and frame hierarchies attached to it but it will not destroy the frames of the atomics in the clump if those frames are not in the frame hierarchy.

RpClumpDestroy also destroys clumps that are attached to lights and cameras.

Each geometry referenced by atomics in the clump will only be destroyed if their reference counts are zero.

Note:
If the clump was acquired from a binary stream and the clump contains geometries, then the geometries are automatically destroyed with RpClumpDestroy. Otherwise, it is assumed the geometries were created by the application and must be explicitly destroyed.
The world plugin must be attached before using this function.
Parameters:
clump  Pointer to the clump.
Returns:
Returns TRUE if successful or FALSE if there is an error
See also:
RpClumpCreate , RpAtomicDestroy , RpGeometryDestroy , RpWorldPluginAttach
RpClump* RpClumpForAllAtomics RpClump   clump,
RpAtomicCallBack    callback,
void *    pData
 

RpClumpForAllAtomics is used to apply the given callback function to all atomics in the specified clump. The format of the callback function is

RpAtomic * (*RpAtomicCallBack)(RpAtomic *atomic, void *data)

where data is a user-supplied data pointer to pass to the callback function.

If any invocation of the callback function returns a failure status the interation is terminated. However, RpClumpForAllAtomics will still return successfully.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the atomics.
callback  Pointer to the callback function to apply to each atomic.
pData  Pointer to user-supplied data to pass to callback function.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpGetNumAtomics , RpWorldPluginAttach
RpClump* RpClumpForAllCameras RpClump   clump,
RwCameraCallBack    callback,
void *    pData
 

RpClumpForAllCameras is used to apply the given callback function to all cameras in the specified clump. The format of the callback function is

RwCamera * (*RwCameraCallBack)(RwCamera *camera, void *data)

where data is a user-supplied data pointer to pass to the callback function.

If any invocation of the callback function returns a failure status the interation is terminated. However, RpClumpForAllCameras will still return successfully.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the cameras.
callback  Pointer to the callback function to apply to each camera.
pData  Pointer to user-supplied data to pass to callback function.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpGetNumCameras , RpWorldPluginAttach
RpClump* RpClumpForAllLights RpClump   clump,
RpLightCallBack    callback,
void *    pData
 

RpClumpForAllLights is used to apply the given callback function to all lights in the specified clump. The format of the callback function is

RpLight * (*RpLightCallBack)(RpLight *light, void *data)

where data is a user-supplied data pointer to pass to the callback function.

If any invocation of the callback function returns a failure status the interation is terminated. However, RpClumpForAllLights will still return successfully.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the lights.
callback  Pointer to the callback function to apply to each light.
pData  Pointer to user-supplied data to pass to callback function.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpGetNumLights , RpWorldPluginAttach
RpClumpCallBack RpClumpGetCallBack const RpClump   clump
 

RpClumpGetCallBack is used to determine the callback function of the specified clump. Note that if the default frustum callback is operational RpClumpGetCallBack will return NULL.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
Returns:
Returns pointer the clump's callback function if successful or NULL if there is an error or if the default frustum callback is operational.
See also:
RpClumpSetCallBack , RwCameraForAllClumpsInFrustum , RpWorldPluginAttach
RwFrame* RpClumpGetFrame const RpClump   clump
 

RpClumpGetFrame is used to retrieve the frame, if any, attached to the specified clump.

Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
Returns:
Returns pointer to the clump's frame if successful or NULL if there is an error or if the clump has no frame attached.
See also:
RpClumpSetFrame , RwFrameCreate , RwFrameAddChild , RwFrameRemoveChild , RpWorldPluginAttach
RwInt32 RpClumpGetNumAtomics RpClump   clump
 

RpClumpGetNumAtomics is used to retrieve the number of atomics in the specified clump.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the atomics.
Returns:
Returns the number of atomics if successful or -1 if there is an error.
See also:
RpClumpForAllAtomics , RpClumpAddAtomic , RpClumpRemoveAtomic , RpWorldPluginAttach
RwInt32 RpClumpGetNumCameras RpClump   clump
 

RpClumpGetNumCameras is used to retrieve the number of cameras in the specified clump.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the cameras.
Returns:
Returns the number of cameras if successful or -1 if there is an error.
See also:
RpClumpForAllCameras , RpClumpAddCamera , RpClumpRemoveCamera , RpWorldPluginAttach
RwInt32 RpClumpGetNumLights RpClump   clump
 

RpClumpGetNumLights is used to retrieve the number of lights in the specified clump.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the lights.
Returns:
Returns the number of lights if successful or -1 if there is an error.
See also:
RpClumpForAllLights , RpClumpAddLight , RpClumpRemoveLight , RpWorldPluginAttach
RwInt32 RpClumpGetPluginOffset RwUInt32    pluginID
 

RpClumpGetPluginOffset is used to get the offset of a previously registered clump plugin.

The world plugin must be attached before using this function.

Parameters:
pluginID  A RwUInt32 value equal to the plugin ID.
Returns:
Returns a RwInt32 value equal to the data block offset if successful or -1 if the plug-in is not registered.
See also:
RpClumpRegisterPlugin , RpClumpRegisterPluginStream , RpClumpSetStreamAlwaysCallBack , RpClumpValidatePlugins , RpWorldPluginAttach
RpWorld* RpClumpGetWorld const RpClump   clump
 

RpClumpGetWorld is used to determine the world the specified clump belongs to, if any.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
Returns:
Returns pointer to the world which contains the clump if successful or NULL if there is an error or if the clump does not belong to any world.
See also:
RpWorldAddClump , RpWorldRemoveClump , RpClumpCreate , RpWorldPluginAttach
RwInt32 RpClumpRegisterPlugin RwInt32    size,
RwUInt32    pluginID,
RwPluginObjectConstructor    constructCB,
RwPluginObjectDestructor    destructCB,
RwPluginObjectCopy    copyCB
 

RpClumpRegisterPlugin is used to register a plugin and reserve some space within a clump. This must happen after the engine has been initialized but before the engine is opened.

The world plugin must be attached before using this function.

Parameters:
size  A RwInt32 value equal to the size of the memory block to reserve.
pluginID  A RwInt32 value equal to the plugin ID (must be unique; used to identify binary chunks).
constructCB  Constructor for the plugin data block.
destructCB  Destructor for the plugin data block.
copyCB  Copy constructor for the plugin data block.
Returns:
Returns a RwInt32 value equal to the byte offset within the clump of memory reserved for this plugin or a negative value if there is an error.
See also:
RpClumpValidatePlugins , RpClumpRegisterPluginStream , RpClumpSetStreamAlwaysCallBack , RpWorldPluginAttach
RwInt32 RpClumpRegisterPluginStream RwUInt32    pluginID,
RwPluginDataChunkReadCallBack    readCB,
RwPluginDataChunkWriteCallBack    writeCB,
RwPluginDataChunkGetSizeCallBack    getSizeCB
 

RpClumpRegisterPluginStream is used to associate a set of binary stream functionality with a previously registered plugin.

The world plugin must be attached before using this function.

Parameters:
pluginID  A RwInt32 value equal to the plugin ID (must be unique; used to identify binary chunks).
readCB  Callback used when a chunk is read that is identified as being for this plugin.
writeCB  Callback used when a chunk should be written out for this plugin.
getSizeCB  Callback used to determine the binary stream size required for this plugin (return negative to suppress chunk writing).
Returns:
Returns a RwInt32 value equal to the byte offset within the clump of memory reserved for this plugin or a negative value if there is an error.
See also:
RpClumpSetStreamAlwaysCallBack , RpClumpValidatePlugins , RpClumpRegisterPlugin , RpWorldPluginAttach
RpClump* RpClumpRemoveAtomic RpClump   clump,
RpAtomic   atomic
 

RpClumpRemoveAtomic is used to detach the specified atomic from the given clump. Note that this function does not destroy the atomic and it is assumed that the clump does not belong to any worlds. Note also that the atomic's frame, if any, remains attached to the clump's frame hierarchy.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the atomic.
atomic  Pointer to the atomic to remove.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpAddAtomic , RpClumpForAllAtomics , RpClumpGetNumAtomics , RpAtomicSetFrame , RwFrameRemoveChild , RpWorldPluginAttach
RpClump* RpClumpRemoveCamera RpClump   clump,
RwCamera   camera
 

RpClumpRemoveCamera is used to detach the specified camera from the given clump. Note that this function does not destroy the camera and it is assumed that the clump does not belong to any worlds. Note also that the camera's frame, if any, remains attached to the clump's frame hierarchy.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the camera.
camera  Pointer to the camera to remove.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpAddCamera , RpClumpForAllCameras , RpClumpGetNumCameras , RwCameraSetFrame , RwFrameRemoveChild , RpWorldPluginAttach
RpClump* RpClumpRemoveLight RpClump   clump,
RpLight   light
 

RpClumpRemoveLight is used to detach the specified light from the given clump. Note that this function does not destroy the light and it is assumed that the clump does not belong to any worlds. Note also that the light's frame, if any, remains attached to the clump's frame hierarchy.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump containing the light.
light  Pointer to the light to remove.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpAddLight , RpClumpForAllLights , RpClumpGetNumLights , RpLightSetFrame , RwFrameRemoveChild , RpWorldPluginAttach
RpClump* RpClumpRender RpClump   clump
 

RpClumpRender is used to render the specified clump into the current camera's image raster. All atomics that comprise the clump are rendered. Rendering is attempted whether or not the clump actually falls inside the camera's view frustum.

Clumps/atomics only need to be added to the world if they are to be rendered via the RpWorldRender call or if "world" lights are to influence the objects. World lights being lights that have a position, so a point light, spot light and soft spot lights. The directional and ambient lights will still work without the object being added to the world.

Note:
This function should only be called between RwCameraBeginUpdate and RwCameraEndUpdate to ensure that any rendering that takes place is directed towards an image raster connected to a camera.
It also ensures that each of the clump's atomics is synchronized, if necessary, so that the clump is rendered in its correct position and orientation (also taking account of the each atomic's current interpolation value).

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
Returns:
Returns a pointer to the clump if successful or NULL if there is an error.
See also:
RwCameraBeginUpdate , RwCameraEndUpdate , RpAtomicRender , RpWorldRender , RwCameraShowRaster , RpWorldPluginAttach
RpClump* RpClumpSetCallBack RpClump   clump,
RpClumpCallBack    callback
 

RpClumpSetCallBack is used to define a callback function for the specified clump.

The callback function is executed from RwCameraForAllClumpsInFrustum when the clump enters the camera's frustum. This allows an application to place animation code in the callback function and to only process this when the clump is on screen.

To return to the default frustum callback use NULL in the callback argument.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
callback  Pointer to the clump callback function.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpGetCallBack , RwCameraForAllClumpsInFrustum , RpWorldPluginAttach
RpClump* RpClumpSetFrame RpClump   clump,
RwFrame   frame
 

RpClumpSetFrame is used to attach the specified frame to the given clump. The frame describes the clump's position and orientation with respect to the world.

Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
frame  Pointer to the frame.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpGetFrame , RwFrameCreate , RwFrameAddChild , RwFrameRemoveChild , RpWorldPluginAttach
void RpClumpSetFreeListCreateParams RwInt32    blockSize,
RwInt32    numBlocksToPrealloc
 

RpClumpSetFreeListCreateParams allows the developer to specify how many RpClump s to preallocate space for. Call before RwEngineInit.

Parameters:
blockSize  number of entries per freelist block.
numBlocksToPrealloc  number of blocks to allocate on RwFreeListCreateAndPreallocateSpace.
See also:
RwFreeList
RwInt32 RpClumpSetStreamAlwaysCallBack RwUInt32    pluginID,
RwPluginDataChunkAlwaysCallBack    alwaysCB
 

RpClumpSetStreamAlwaysCallBack is used to associate a binary stream callback with a previously registered plugin. This callback is called for all plugins after stream data reading has completed.

The world plugin must be attached before using this function.

Parameters:
pluginID  A RwInt32 value equal to the plugin ID (must be unique; used to identify binary chunks).
alwaysCB  Callback used when object base and plugin data reading is complete.
Returns:
Returns a RwInt32 value equal to the byte offset within the clump of memory reserved for this plugin or a negative value if there is an error.
See also:
RpClumpRegisterPluginStream , RpClumpValidatePlugins , RpClumpRegisterPlugin , RpWorldPluginAttach
RwUInt32 RpClumpStreamGetSize RpClump   clump
 

RpClumpStreamGetSize is used to determine the size in bytes of the binary representation of the given clump. This value is used in the binary chunk header to indicate the size of the chunk. The size does not include the size of the chunk header.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
Returns:
Returns a RwUInt32 value equal to the chunk size (in bytes) of the clump or zero if there is an error.
See also:
RpClumpStreamRead , RpClumpStreamWrite , RpWorldPluginAttach
RpClump* RpClumpStreamRead RwStream   stream
 

RpClumpStreamRead is used to read a clump from the specified binary stream. Note that prior to this function call, a binary clump chunk must be found in the stream using the RwStreamFindChunk API function.

The world plugin must be attached before using this function.

The sequence to locate and read a clump from a binary stream is as follows:

   RwStream *stream;
   RpClump *newClump;

   stream = RwStreamOpen(rwSTREAMFILENAME, rwSTREAMREAD, "mybinary.xxx");
   if( stream )
   {
       if( RwStreamFindChunk(stream, rwID_CLUMP, NULL, NULL) )
       {
           newClump = RpClumpStreamRead(stream);
       }

       RwStreamClose(stream, NULL);
   }
Parameters:
stream  Pointer to the stream.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpStreamWrite , RpClumpStreamGetSize , RwStreamOpen , RwStreamClose , RwStreamFindChunk , RpWorldPluginAttach
RpClump* RpClumpStreamWrite RpClump   clump,
RwStream   stream
 

RpClumpStreamWrite is used to write the specified clump to the given binary stream. Note that the stream will have been opened prior to this function call.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump.
stream  Pointer to the stream.
Returns:
Returns pointer to the clump if successful or NULL if there is an error.
See also:
RpClumpStreamRead , RwStreamOpen , RwStreamClose , RpWorldPluginAttach
RwBool RpClumpValidatePlugins const RpClump   clump
 

RpClumpValidatePlugins is used to validate the plugin memory allocated within the specified clump. This function is useful for determining where memory trampling may be occuring within an application.

This function only returns a meaningful response under a debug library.

The world plugin must be attached before using this function.

Parameters:
clump  Pointer to the clump to validate.
Returns:
Returns TRUE is the clump data is valid or FALSE if there is an error or if the clump data has become corrupt.
See also:
RpClumpRegisterPlugin , RpClumpRegisterPluginStream , RpClumpSetStreamAlwaysCallBack , RpWorldPluginAttach

Criterion Software © 1993-2003 Criterion Software Limited. All rights reserved. Built Tue Apr 22 12:46:18 2003. Send Feedback
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)