This is CX3DObject.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: CX3DObject.h *
* *
* *
* Creation date: Mon Jul 26 18:09:38 GMT+0200 1993 *
* *
* *
* Contents: An object view for a 3d object *
* *
* *
*******************************************************************************/
#import <ri/ri.h>
#import <i3d/ObjectView.h>
#import <i3d/i3d_api.h>
#import <i3d/CX3DObject.h>
#import <i3d/ExportedVariable.h>
#define N3D_BoundingBox N3D_ShadedWireFrame
#define INTER_CONSTANT 0
#define INTER_SMOOTH 1
#define SURF_POINTCLOUD 0
#define SURF_WIREFRAME 1
#define SURF_FACETED 2
#define SURF_SMOOTH 3
#define SURF_ASIS 4
#define SURF_BBOX 5
#define PRECISION_POOR 0
#define PRECISION_LOW 1
#define PRECISION_MEDIUM 2
#define PRECISION_HIGH 3
#define PRECISION_DEFAULT 4
/*
* Visible flag
*/
#define SetPhotoVisible(f) ((f) |= 0x1)
#define ClrPhotoVisible(f) ((f) &= (~0x1))
#define IsPhotoVisible(f) ((f) & 0x1)
#define SetQuickVisible(f) ((f) |= 0x2)
#define ClrQuickVisible(f) ((f) &= (~0x2))
#define IsQuickVisible(f) ((f) & 0x2)
#define SetUseOneBBox(f) ((f) |= 0x4 )
#define ClrUseOneBBox(f) ((f) &= (~0x4))
#define IsUsingOneBBox(f) ((f) & 0x4 )
@interface N3DObject : ObjectView
{
float scale[3];
float rotate[3];
float translate[3];
float oldValue[3];
RtMatrix transform;
RtMatrix rotateMatrix;
RtMatrix oldRotateMatrix;
int surfaceType;
id shape;
unsigned char visible;
unsigned int precision;
id metaShader;
BOOL shouldDisplayAsBBox;
BOOL transformDirty;
int lastUsedInsp;
}
+ (ExportedVariable*) exportedVariable;
+ (ExportedVariable*) exportedVariableFor:(long)version;
- init;
- copy;
- free;
- freeWithoutShape;
- initShapeFromSelf;
- (BOOL)isAVolume;
- (BOOL)isSelectable;
- rebuildBoundingBoxes;
- getBoundingBox:(RtBound) aBox;
- setShouldDisplayAsBBox:(BOOL) aFlag;
- (BOOL) shouldDisplayAsBBox;
/*****************************************************************************
* *
* Shading *
* *
*****************************************************************************/
- setColor: (NXColor) aColor;
- setOpacity: (NXColor) aColor;
- setInterpolation: (BOOL) interp;
- setSurface: (int) aSurface;
- setShadingRate: (float) aValue;
- setPrecision:(int) aPrecision;
/*****************************************************************************
* *
* Inspectors *
* *
*****************************************************************************/
- attributeInspClass;
- shadingInspClass;
/*****************************************************************************
* *
* Rendering *
* *
*****************************************************************************/
- preRender: displayer;
- postRender: displayer;
- beforeRender;
- render;
- afterRender;
/*****************************************************************************
* *
* Color *
* *
*****************************************************************************/
- acceptColor:(NXColor)co atPoint:(const NXPoint *)aPoint;
@end
#define USE_OBJECT_DEF 1
#include <i3d/CX3DObjectAndNodeCommon.h>
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.