Detailed Description
- See also:
- Class TriObject.
- Description:
- 3D Studio DOS allowed developers to store APP_DATA with objects
and nodes in the scene. When the 3DS DOS file is imported into 3ds
Max, and no plug-in has registered to convert it, then it is just
hung off the object (or INode in the case of KXP app data).
A 3ds Max plug-in can register itself to read a particular APP_DATA
chunk when a 3DS DOS file is loaded. If a chunk is encountered that
matches a registered plug-in, that plug-in will be asked to create
an instance of itself based on the contents of the APP_DATA chunk.
The plug-in callback is given an opportunity to read the chunk and
create an object other than a TriObject based on the contents of
the chunk and the original object.
A plug-in that wants to process app data registers a new class
derived from this class by calling void
RegisterObjectAppDataReader(ObjectDataReaderCallback
*cb);
The system then maintains a list of these
ObjectDataReaderCallbacks.
#include <istdplug.h>
List of
all members.
Member Function Documentation
virtual char* DataName |
( |
|
) |
[pure virtual] |
virtual Object* ReadData |
( |
TriObject * |
obj, |
|
|
void * |
data, |
|
|
DWORD |
len |
|
) |
|
[pure virtual] |
- Parameters:
- TriObject
*obj
The original mesh object the app data was assigned to. If no
callback was registered, this would be the object that would get
created.
void *data
Points to the particular app data chunk handled by the registered
callback.
DWORD len
The length of the app data chunk.
- Returns:
- The Object
created by the plug-in to hold the appdata. This would be the
object created to take the place of the TriObject. For example, consider a 3DS
object that had appdata embedded in it which represented the patch
object from which the mesh was created (like 3D Surfer for
example). This method would take that data and created a patch
object so that the user could work with the object as a patch
object in 3ds Max instead of a tri object.
virtual void DeleteThis |
( |
|
) |
[pure virtual] |
ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback
ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback ObjectDataReaderCallback
ObjectDataReaderCallback