This is i3d_api.h in view mode; [Download] [Up]
/*
* Copyright 1993 by Cub'x Systemes
*
* All Rights Reserved
*
* Permission to use, copy, and distribute this software and its
* documentation for the purpose of making new intuitiv'3d modules.
* This copyright notice must appears in all copies that you distribute.
* The name of Cub'x Systeme should not be used in advertising or publicity
* without specific, written prior permission.
* CUB'X SYSTEMES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
* CUB'X SYSTEMES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
/*******************************************************************************
* *
* Project intuitiv'3d *
* ------------------- *
* *
* *
* File: i3d_api.h *
* *
* *
* Creation date: Mon Jul 26 11:52:40 GMT+0200 1993 *
* *
* *
* Contents: i3d's API classes and constant definition *
* *
* *
*******************************************************************************/
#import <3Dkit/next3d.h>
#import <i3d/CXOpenPanel.h>
/*******************************************************************************
* *
* Intuitiv'3d classe name are changing, please use CX3Dxxx instead of N3Dxxx *
* *
*******************************************************************************/
#define CX3DLightSource N3DLightSource
#define CX3DAttributeInsp AttributeInsp
#define CX3DNode N3DNode
#define CX3DObject N3DObject
#define CX3DGenericShaderInspector GenericShaderInspector
#define CX3DLightTransformInsp LightTransformInsp
#define CX3DLightDisplayInsp LightDisplayInsp
#define CX3DLightShaderInsp LightShaderInsp
/*******************************************************************************
* *
* Types and useful macros *
* *
*******************************************************************************/
typedef struct {
float x,y;
} Point2d;
typedef struct {
float minx,maxx;
float miny,maxy;
} N3DRect,CX3DRect;
#define CX(n) ((n)[0])
#define CY(n) ((n)[1])
#define CZ(n) ((n)[2])
#define CRED(n) CX(n)
#define CGREEN(n) CY(n)
#define CBLUE(n) CZ(n)
#define ZERO(n) ((n) == 0.0)
/*
* Bounding box constants
*/
#define BB_MINX(b) ((b)[0])
#define BB_MAXX(b) ((b)[1])
#define BB_MINY(b) ((b)[2])
#define BB_MAXY(b) ((b)[3])
#define BB_MINZ(b) ((b)[4])
#define BB_MAXZ(b) ((b)[5])
/*
* Prerendering level
*/
#define PRERENDER_TEXTURE 1
#define PRERENDER_DEFAULT 2
/*******************************************************************************
* *
* Some methods that you can call *
* *
*******************************************************************************/
@protocol Displayer_api
- constLightSet;
- rootObject;
- scene;
- setShouldRefresh;
- justDisplay;
- renderShadowMapIn:(const char*) filename from: (float*) from toward: (float*) to shadowDetail: (float) aFloat;
- renderShadowMapIn:(const char*) filename
from: (float*) from
toward: (float*) to
shadowDetail: (float) aFloat
perspective: (BOOL) doPerspective
screenWindow: (N3DRect*) swrect
fov: (float) fov;
- executeRibFile:(const char*) filename panelTitle:(const char*) title;
- renderMapIn:(const char*) filename
from: (float*) from
toward: (float*) to
details: (float) aFloat
roll: (float) roll;
- renderMapIn:(const char*)filename details: (float) details transform: (RtMatrix) t;
- makeTmpFileNameIn:(char*) buff;
- destroyTmpFile:(const char*) filename;
- (int)preRenderLevel;
@end
@protocol Application_api
- unlinkThisFileSomeday:(const char*) filename;
- selectedObject;
- currentScene;
- addObjectToFree: anObject;
- currentCamera;
- (const char*) versionString;
- (BOOL) photoRealistRender;
- moduleManager;
- (const char*) tmpFolder;
- (BOOL) fileExists:(const char*) filename;
@end
@protocol Scene_api
- selectedObject;
- (BOOL) haveObjectInPath: anObject;
- firstSelectedSet;
- displayScene;
- forceDisplayScene;
- selectObject: anObject;
- addObject: anObject;
- delete: sender;
@end
@protocol Inspector_api
- ok: sender;
- revert: sender;
- (BOOL) isRealTime;
- currentObject;
- currentScene;
@end
@protocol ModuleManager_api
- (BOOL) getPath:(char*)path forResource:(const char*)resName ofType:(const char*)aType;
@end
/*******************************************************************************
* *
* Usefull functions *
* *
*******************************************************************************/
extern void calcThetamaxBound(float radius,float thetamax,RtBound aBox);
extern void calcThetamaxVolumeBound(float radius,float thetamax,RtBound aBox);
extern void rotate2d(Point2d *p,float r);
extern void CX3DMult3DPoints( RtPoint *in, unsigned int n , RtMatrix t , RtPoint *out );
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.