ftp.nice.ch/pub/next/developer/objc/api/intuitiv3d_API.s.tar.gz#/i3dApi/Documentation/Classes/CX3DObjectAndCX3DNodeMethod.rtf

This is CX3DObjectAndCX3DNodeMethod.rtf in view mode; [Download] [Up]

 intuitiv'3d API documentation Copyright ©1993 by Cub'x SystÜmes. All Rights Reserved.





Description

This documentation decsribes the methods that you might call or overload when using classes CX3DObject or CX3DNode. Only methods that you can use or overload in your own subclasses are described. Other methods are not documented and are subject to change.


Method Types

Subclass description	
	+ alloc
	+ exportedVariable
	+ exportedVariableFor:
	- isAVolume
	- isALight

Shaders, colors and opacity
	- setColor:
	- color
	- setOpacity:
	- opacity
	- setShadingRate:
	- shadingRate
	- setUseLocalShadingRate:
	- useLocalShadingRate
	- setInterpolation:
	- interpolation
	- setSurfaceShader:
	- surfaceShader
	- setDisplacementShader:
	- displacementShader
	- setAreaLightShader
	- areaLightShader
	- setAtmosphereShader
	- atmosphereShader
	- (BOOL) willAcceptShader

Quick renderman display options
	- setSurface:
	- surface
	- setPrecision:
	- precision

Object visibility
	- setPhotoVisible:
	- photoVisible
	- setQuickVisible
	- quickVisible
	- setVisible:
	- visible

Object rendering
	- preRender
	- postRender
	- render

Conversion 
	- convertWorldPointsToObject:count:
	- convertPointsToWorld:count:

Inspectors 
	- attributeInspClass
	- transformationInspClass
	- shadingInspClass
	- shadersInspClass

Archiving
	- read:
	- write:
	- awake

Miscellaneous
	- shape
	- calcSum



Class Methods
alloc
	+ alloc
This factory method allocates a new instance. Returns the new instance. You don't have to overload this method. You'll want to call - init on the instance returned by + alloc. 

See also: - init (CX3DObject or CX3DNode) 



exportedVariable
	+ (ExportedVariable*) exportedVariable
This method returns a description of instance variable that must be saved or loaded.
 
See also: ExportedVariable.rtf in the Functions folder. 


exportedVariableFor:
	+ (ExportedVariable*) exportedVariableFor:(long) version
This method returns a description of instance variable that must be saved or loaded according to the version of the class.
 
See also: ExportedVariable.rtf in the Functions folder. 



Instance Methods
areaLightShader
	- areaLightShader
Returns the area light shader used by the receiver.

See also: - setAreaLightShader


atmosphereShader
	- atmosphereShader
Returns the atmosphere shader used by the receiver.

See also: - setAtmosphereShader


attributeInspClass
	- attributeInspClass
This method returns the class id of the attribute inspector that you want to use with your instance. The default implementation of this method returns nil.

See also: - transformationInspClass,  - shadingInspClass, - shadersInspClass


awake
	- awake
This method is called just after unarchiving an object. If you want to initialize some unsaved instance variable, you have to overload this method. Always call [super awake] in your implementation. 

See also: - read , - write 


calcSum
	- (unsigned int) calcSum
This method is used by intuitiv'3d to discover if a scene has changed. The default implementation of this method make a sum of all instance variable. If your new subclass have some id instance variable, you should overload this method to count that instance variable contents.


color
	- (NXColor) color
Returns the default color used by the object's surface shader.

See also: - setColor 


convertPointsToWorld:count
	- convertPointsToWorld:(RtPoint*) p count: (unsigned int) count
This method converts 3D points inside the p array from the receiver space coordinate to the world space coordinate.
count is the number of point inside the p array.

See also: - convertWorldPointsToObject:count: 


convertWorldPointsToObject:count
	- convertWorldPointsToObject:(RtPoint*) p count: (unsigned int) count
This method converts 3D points inside the p array from the world space coordinate to the receiver space coordinate.
count is the number of point inside the p array.

See also: - convertPointsToWorld:count: 


displacementShader
	- displacementShader
Returns the displacement shader used by the receiver.

See also: - setDisplacementShader


isALight
	- (BOOL) isALight
Return YES if the instance is a light. An instance is a light if it provides an implementation of - illuminate. The only subclass that overload - isALight is CX3DLightSource. The default implementation always returns NO.



isAVolume
	- (BOOL) isAVolume
Returns YES if the instance is a volume. An instance is a volume its - render method uses a RiSolidBegin() function call. The default implementation return always NO.


interpolation
	- (BOOL) interpolation
Returns INTER_SMOOTH if the interpolation is smooth and INTER_CONSTANT if the interpolation is faceted. 

See also: - setInterpolation 


opacity
	- (NXColor) opacity
Return the default opacity used by the object's surface shader. An opacity in Renderman Language is described with a color. White is opaque, Black is transparent. 

See also: - setOpacity 


photoVisible
	- (BOOL) photoVisible
Returns YES if the receiver is to be rendered when rendering with photorealistic renderman.

See also: - setPhotoVisible, - setQuickVisible:, - quickVisible, setVisible, visible


postRender
	- postRender: aDisplayer
This method is called by the rendering pipeline to allow the receiver to free any memory allocated by the preRender: method or to erase any file created by the preRender: method. The default implementation of postRender: does nothing.

See also: The file Concepts/Rendering.rtf , - preRender, - render


precision
	- (int) precision
Returns the precision used by the receiver. The precision could be poor, low, medium, high and default.

See also: - setPrecision,  CX3DObjectAndNode.rtf in the TypesAndConstants folder

preRender
	- preRender: aDisplayer
This method is called by the rendering pipeline to allow the receiver to perform its pre-rendering operations. The default implementation of - preRender does nothing. aDisplayer is the Displayer instance that manages the rendering.

See also: The file Concepts/Rendering.rtf , - postRender: , - render



quickVisible
	- (BOOL) quickVisible
Returns YES if the receiver is to be rendered when rendering with quick Renderman.

See also: - setPhotoVisible, - photoVisible:, - setQuickVisible, setVisible, visible


read
	- read:(NXTypedStream*) stream
This method is used by the archiving system. The default implementation of this method call the evReadVariableForObject() function. You will only have to overload this method if your instance variables cannot be managed by the exported variable features. 

See also: ExportedVariable.rtf in the Functions folder., - write, - awake 



render
	- render
The render method is called by the rendering pipeline to ask the receiver to display its shape using the Renderman interface . The default implementation of this method manages shaders and display option. It returns self if the subclass version should perform its drawing and nil otherwise.  

See also: - preRender: , -postRender



 setAreaLightShader:
	- setAreaLightShader: aShader
This method sets the area light shader used by the receiver. aShader should be a kind of CX3DShader instance and a light shader. The old shader is freed and aShader is duplicated.

See also: - areaLightShader 


setAtmosphereShader:
	- setAtmosphereShader: aShader
This method sets the atmosphere shader used by the receiver. aShader should be a kind of CX3DShader instance and an atmosphere shader. The old shader is freed and aShader is duplicated.

See also: - atmosphereShader 


setColor:
	- setColor:(NXColor) aColor
This method sets the default color used by the object's surface shader.

See also: - color 


setDisplacementShader:
	- setDisplacementShader: aShader
This method sets the displacement shader used by the receiver. aShader should be a kind of CX3DShader instance and a displacement shader. The old shader is freed and aShader is duplicated.

See also: - displacementShader 


setInterpolation:
	- setInterpolation: (BOOL) anInterpolation
If anInterpolation  is equal to INTER_SMOOTH, the interpolation will be smooth, otherwise the interpolation will be faceted. 

See also: - interpolation 


setOpacity:
	- setOpacity:(NXColor) aColor
This method sets the default opacity used by the object's surface shader.

See also: - opacity


setPhotoVisible:
	- setPhotoVisible:(BOOL) aFlag
If aFlag is equal to YES, the receiver will be rendered when rendering with photorealistic Renderman. If aFlag is equal to NO, the receiver will be not rendered with photorealistic Renderman.

See also: - photoVisible, - setQuickVisible:, - quickVisible , - setVisible, - visible


setQuickVisible:
	- setQuickVisible:(BOOL) aFlag
If aFlag is equal to YES, the receiver will be rendered when rendering with quick Renderman. If aFlag is equal to NO, the receiver will be not rendered with quick Renderman.

See also: - photoVisible, - setPhotoVisible:, - quickVisible , - setVisible, - visible

setPrecision:
	- setPrecision:(int) aPrecision
This method sets the precision used by the instance. The precision could be poor, low, medium, high and default.

See also: - precision,  CX3DObjectAndNode.rtf in the TypesAndConstants folder.


setShadingRate:
	- setShadingRate:(float) aValue
This method set the shading rate value (as used by RiShadingRate()) used if the local shading rate is enabled.

See also: - shadingRate, - setUseLocalShadingRate, - useLocalShadingRate


setSurface:
	- setSurface: (int) aSurface
Set the surface type used by the instance. The surface type could be point cloud, wireframe, faceted, smooth, bounding box and "as is". 

See also: - surface, CX3DObjectAndNode.rtf in the TypesAndConstants folder.



setSurfaceShader:
	- setSurfaceShader: aShader
This method sets the surface shader used by the receiver. aShader should be a kind of CX3DShader instance and a surface shader. The old shader is freed and aShader is duplicated.

See also: - surfaceShader 


setUseLocalShadingRate:
	- setUseLocalShadingRate:(BOOL) aFlag
This method enables or disables the local shading rate feature. If aFlag is equal to YES, the object uses the shading rate value given by - setShadingRate. Otherwise, the global shading rate value is used.

See also: - setShadingRate, - shadingRate, - useLocalShadingRate 


setVisible:
	- setVisible: (BOOL) aFlag
Call - setPhotoVisible and - setQuickVisible with aFlag as argument.

See also: - photoVisible, - setPhotoVisible:, - quickVisible , - setQuickVisible, - visible 


shadingInspClass
	- shadingInspClass
This method returns the class id of the shading (labeled display) inspector that you want to use with your instance. The default implementation of this method returns a default and internal inspector.

See also: - attributeInspClass,  - transformationInspClass, - shadersInspClass 


shadingRate
	- (float) shadingRate
This method returns the shading rate value (as used by RiShadingRate()) used if the local shading rate is enabled.

See also: - setShadingRate, - setUseLocalShadingRate, - useLocalShadingRate 


shadersInspClass
	- shadersInspClass
This method returns the class id of the shaders inspector that you want to use with your instance. The default implementation of this method returns a default and internal inspector.

See also: - attributeInspClass,  - transformationInspClass, - shadingInspClass 


surface
	- (int) surface
Returns the surface type used by the instance. The surface type could be point cloud, wireframe, faceted, smooth, bounding box and "as is".

See also: - setSurface:, CX3DObjectAndNode.rtf in the TypesAndConstants folder. 


surfaceShader
	- surfaceShader
Returns the surface shader used by the receiver.

See also: - setSurfaceShader


shape
	- shape
This method returns the N3DShape instance used for the receiver. This is a chance for you to use a 3Dkit method that is not implemented by intuitiv'3d.

See also:  N3DShape (3DKit)

transformationInspClass
	- transformationInspClass
This method returns the class id of the transformation inspector that you want to use with your instance. The default implementation of this method returns a default and internal inspector.

See also: - attributeInspClass,  - shadingInspClass, - shadersInspClass 



useLocalShadingRate
	- (BOOL) useLocalShadingRate
This method returns YES if the local shading rate feature is enabled, NO otherwise.

See also: - setShadingRate, - shadingRate, - setUseLocalShadingRate 


visible
	- (BOOL) visible
This method should be called only when rendering. An instance is rendered inside the following methods:
	- render
	- preRender
	- postRender
	- illuminate (CX3DLightSource)

If the rendering is done with quick Renderman, this method returns [self quickVisible] otherwise this method returns [self photoVisible].

See also: - photoVisible, - setPhotoVisible:, - quickVisible , - setQuickVisible, - setVisible 



willAcceptShader
	- (BOOL) willAcceptShader
You can overload this method. When a shader is about to be given to an object, this method is called to know if the receiver can manage it. The default implementation of this method returns YES for a surface, displacement and area light shader and NO otherwise. 


write
	- write:(NXTypedStream*) stream
This method is used by the archiving system. The default implementation of this method calls the evWriteVariableForObject() function. You have to overload this method only if your instance variables cannot be managed by the exported variable features. 

See also: ExportedVariable.rtf in the Functions folder., - read, - awake 


These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.