/****************************************************************************************************

		3DConstants.h
		Copyright: (c) 2001 Eovia Corp. All rights reserved.

		Author:	Charles
		Date:	4/29/2003

****************************************************************************************************/

#ifndef __3DConstants__
#define __3DConstants__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "3DPublicDefs.h"
#include "InterfaceIDs.h"

// ****************************************************************************
//						3DConstants		
// 
// -Description:
//
// This file contains the definition of all the constants that are specific to
// Carrara. You should not include any constant that can be used by MCF or MCCore.
//
// You should not include extension specific constants in this file. Each extension
// should have its own constant file in PublicAPI
//


// ****************************************************************************
//								Room IDs

typedef IDType RoomID;

const RoomID kAssemblyRoomID	= '3Dvw';
const RoomID kModelingRoomID	= 'modm';
const RoomID kStoryBoardRoomID	= 'Stry';
const RoomID kShadingRoomID		= 'shdm';
const RoomID kRenderingRoomID	= 'btqm';


// ****************************************************************************
//								File IDs


typedef IDType FileTypeID;

const FileTypeID kCarraraFileTypeID		= 'CARF';		// .car scene files
const FileTypeID kRaydreamFileTypeID	= 'RDSF';		// .rds files
const FileTypeID kBrowserFileID			= 'CBRF';		// browser files

typedef IDType FileTypeFamilyID;

const FileTypeFamilyID kImageFileTypeFamilyID = 'imag';		// all the image file types



// ****************************************************************************
//								Family IDs
// 

typedef IDType ComponentFamilyID;

const ComponentFamilyID		kModuleFamilyID  = kRID_ModuleFamilyID;
const ComponentFamilyID		kShaderFamilyID  = kRID_ShaderFamilyID;
const ComponentFamilyID		kSceneModifierID = kRID_SceneModifierID;	// ex: physics


// ****************************************************************************
//								Tree Param IDs
// 

const int32 gLinkParamID				= IDTYPE('L', 'I', 'N', 'K');
const int32 gModifierParamID			= IDTYPE('m', 'o', 'd', 'i');
const int32 gDataComponentParamID		= IDTYPE('d', 't', 'a', 'L');
const int32 gTreeShadingParamID			= IDTYPE('I', 'S', 'D', 'E');
const int32 gCameraParamID				= IDTYPE('C', 'A', 'M', 'C');
const int32 gLightParamID				= IDTYPE('L', 'I', 'T', 'C');
const int32 gGelParamID					= IDTYPE('G', 'E', 'L', 'C');
const int32 gShadowFeatureParamID		= IDTYPE('s', 'h', 'd', 'F');
const int32 gReflectionFeatureParamID	= IDTYPE('f', 'l', 'e', 'F');
const int32 gRefractionFeatureParamID	= IDTYPE('f', 'r', 'a', 'F');
const int32 gExistsParamID				= IDTYPE('E', 'X', 'I', 'S');

const int32 gCastParamID				= 'CAST';
const int32 kReceiveParamID				= 'RECV';

//const int32 kCatchParamID = IDTYPE('C', 'A', 'T', 'C');
const int32 gXYZScalingParamID = IDTYPE('X', 'Y', 'Z', 'S');//BEB

#endif


