This is CX3DObjectSubclass.m in view mode; [Download] [Up]
/*******************************************************************************
* *
* Project <MyGreatProject> *
* ------------------------ *
* *
* *
* File: *
* *
* *
* Creation date: *
* *
* *
* Contents: *
* *
* *
*******************************************************************************/
#import "MyCX3DObject.h"
#define VERSION 001
@implementation MyCX3DObject
/*******************************************************************************
* *
* Class methods *
* *
*******************************************************************************/
/*
* This is a good idea to set a version number to your class
* This is useful when you have to keep a backward compatibility
* when reading a stream
*/
+ initialize
{
[self setVersion: VERSION];
return self;
}
/*
* ExportedVariables allows you to speedup the implementation of the read: and
* write: methods. Please read the documentation.
*/
+ (ExportedVariable*) exportedVariable
{
static ExportedVariable ev[] =
{
/*
* Describe your new instance variable here
*/
{"MyInstanceVariableName", MyType , 0 },
...,
{"",0,0}
};
return ev;
}
/*******************************************************************************
* *
* Instance methods *
* *
*******************************************************************************/
/*
* The init method should set some default values for your instance variables.
*/
- init
{
[super init];
/*
* Initialize your own instance variable here
*/
return self;
}
/*
* The copy method should be implemented.
* Duplicate the receiver.
*/
- copy
{
MyCX3DObject *obj = [super copy];
/*
* Copy your own instance variable here
*/
return self;
}
/*
* This method render the object.
* You can use Renderman functions inside
* this method. You should begin this method
* by if( [super render] ) { ...
*/
- render
{
if( [super render] )
{
/*
* Use Renderman functions here
*/
}
return self;
}
/*
* This method should returns the bounding box of your instance.
* You have to implement this method.
*/
- getBoundingBox:(RtBound) aBox
{
BB_MINX( aBox ) = 0.0;
BB_MAXX( aBox ) = 0.0;
BB_MINY( aBox ) = 0.0;
BB_MAXY( aBox ) = 0.0;
BB_MINZ( aBox ) = 0.0;
BB_MAXZ( aBox ) = 0.0;
return self;
}
/*
* This method returns the class of the inspector you want to use
* for your new object. You can return nil.
*/
- attributeInspClass
{
return nil;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.