ftp.nice.ch/pub/next/developer/objc/api/intuitiv3d_API.s.tar.gz#/i3dApi/Headers/i3d/CX3DObject.h

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.