Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray3D Namespace Reference

Classes

class  cCameraParamsBase
 
class  cCameraParams
 
class  cCameraController
 
class  cCameraControlOrbit
 
class  cCamera
 
class  cDXBase
 
class  cDXDevice
 
class  cDXMesh
 
class  cDXMeshVertex
 
class  cDXMeshIndex
 
class  cDXMeshAttribute
 
class  cDXRenderBatch
 
class  cDXTextureBase
 
class  cDXTexture
 
class  cMapCommon
 
class  cMapBase1
 
class  cMeshVertsV
 
class  cMeshVertsT
 
class  cMeshIndexT
 
class  cMeshT
 
class  cMesh
 
class  cMeshInt
 
class  cModelMaterial
 
class  cModelMeshCont
 
class  cModelFrame
 
class  cModel
 
struct  cModel3DSFace
 
class  cModel3DSMaterialInfo
 
class  cModel3DSObject
 
class  cModel3DS
 
class  cModelXEffectParam
 
class  cModelXMaterial
 
class  cModelXMeshCont
 
class  cModelXFrame
 
class  cModelX
 
class  cModelXLoader
 
class  cXResourceFile
 
class  cOctreeNodeCont
 
class  cOctree
 
class  cOctreeNode
 
class  cOctreeObject
 
class  cSpatialObject
 
class  cSpatialTestVisitor
 
class  cSpatialTestVisitorArray
 
class  cXSpritePage
 
class  cXSpriteElem
 
class  cXTextureFile
 
class  cXTextureMgr
 

Typedefs

typedef float METERSf_t
 preferred 3d units for rendering. like DVALUEDEF_t but not MAP_METER_t More...
 
typedef double MAP_METER_t
 float meters for x,y,z, similar to MAP_METERI_t. also D3DVALUE or DVALUEDEF_t METERSf_t More...
 
typedef cRefPtr< cModelMeshContcModelMeshContPtr
 
typedef cRefPtr< cModelcModelPtr
 
typedef cRefPtr< cModel3DSMaterialInfocModel3DSMaterialInfoPtr
 
typedef cRefPtr< cModel3DSObjectcModel3DSObjectPtr
 
typedef WORD ModelX_FrameMask_t
 
typedef cRefPtr< cModelXcModelXPtr
 
typedef float SOUND_POWER_t
 Power of the sound. This roughly corresponds to hearing distance, but THIS IS NOT CUT-OFF DISTANCE. More...
 
typedef cVecT3< INT32 > cVec3i
 
typedef void * cXSpritePagePtr
 
typedef DWORD TEXTURELOAD_t
 mask of TEXTURELOAD_TYPE_ More...
 
typedef cRefPtr< cXTextureFilecXTextureFilePtr
 

Enumerations

enum  ModelX_FrameName_TYPE { ModelX_FrameName_QTY }
 
enum  ModelX_FrameMask_TYPE_
 
enum  X_TOK_TYPE { X_NAME = 1 }
 
enum  TEXTURELOAD_TYPE_ {
  TEXTURELOAD_NOP = 0 , TEXTURELOAD_NONCRIT = 0x001 , TEXTURELOAD_NOW = 0x002 , TEXTURELOAD_SIZE = 0x004 ,
  TEXTURELOAD_DEFERRED = 0x008 , TEXTURELOAD_SEARCH = 0x010 , TEXTURELOAD_MODELCHILD = 0x020 , TEXTURELOAD_NORMALMAP = 0x080 ,
  TEXTURELOAD_FILTER = 0x100 , TEXTURELOAD_USESIZE = 0x200 , TEXTURELOAD_USEASPECT = 0x400
}
 
enum  Model3DS_TYPE {
  Model3DS_UNK = 0 , Model3DS_PRIMARY2 = 0x4D42 , Model3DS_PRIMARY = 0x4D4D , Model3DS_OBJECTINFO = 0x3D3D ,
  Model3DS_VERSION = 0x0002 , Model3DS_EDITKEYFRAME = 0xB000 , Model3DS_MATERIAL = 0xAFFF , Model3DS_OBJECT = 0x4000 ,
  Model3DS_MATNAME = 0xA000 , Model3DS_MATDIFFUSE = 0xA020 , Model3DS_MATMAP = 0xA200 , Model3DS_MATMAPFILE = 0xA300 ,
  Model3DS_OBJECT_MESH = 0x4100 , Model3DS_OBJECT_VERTICES = 0x4110 , Model3DS_OBJECT_FACES = 0x4120 , Model3DS_OBJECT_MATERIAL = 0x4130 ,
  Model3DS_OBJECT_UV = 0x4140
}
 

Functions

 UNITTEST2_PREDEF (cOctree)
 
 DECLARE_INTERFACE (ISpatialTestVisitor)
 
 UNITTEST2_PREDEF (cXTextureMgr)
 
 UNITTEST2_CLASS (cCamera)
 
 UNITTEST2_REGISTER (cCamera, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cDX9)
 
 UNITTEST2_REGISTER (cDX9, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cDXBase)
 
 UNITTEST2_REGISTER (cDXBase, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (Gray3D)
 
 UNITTEST2_REGISTER (Gray3D, UNITTEST_LEVEL_Lib)
 
 UNITTEST2_CLASS (cMesh)
 
 UNITTEST2_REGISTER (cMesh, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cModel)
 
 UNITTEST2_REGISTER (cModel, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cModel3DS)
 
 UNITTEST2_REGISTER (cModel3DS, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cModelX)
 
 UNITTEST2_REGISTER (cModelX, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cOctree)
 
 UNITTEST2_REGISTER (cOctree, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cXSpritePage)
 
 UNITTEST2_REGISTER (cXSpritePage, UNITTEST_LEVEL_Common)
 
 UNITTEST2_CLASS (cXTextureMgr)
 
 UNITTEST2_REGISTER (cXTextureMgr, UNITTEST_LEVEL_Common)
 

Variables

cOSModDyn g_Module (GRAY_NAMES "3D")
 
template class __DECL_IMPORT cDXMeshVertex< cVector3f >
 
template class __DECL_IMPORT cDXMeshIndex< WORD >
 
cInstallDir g_ResInstall
 if the file name is not rooted this is its base. (acts like current dir) More...
 

Typedef Documentation

◆ cModel3DSMaterialInfoPtr

◆ cModel3DSObjectPtr

◆ cModelMeshContPtr

◆ cModelPtr

◆ cModelXPtr

◆ cVec3i

typedef cVecT3<INT32> Gray3D::cVec3i

◆ cXSpritePagePtr

typedef void* Gray3D::cXSpritePagePtr

◆ cXTextureFilePtr

◆ MAP_METER_t

typedef double Gray3D::MAP_METER_t

float meters for x,y,z, similar to MAP_METERI_t. also D3DVALUE or DVALUEDEF_t METERSf_t

◆ METERSf_t

typedef float Gray3D::METERSf_t

preferred 3d units for rendering. like DVALUEDEF_t but not MAP_METER_t

◆ ModelX_FrameMask_t

◆ SOUND_POWER_t

typedef float Gray3D::SOUND_POWER_t

Power of the sound. This roughly corresponds to hearing distance, but THIS IS NOT CUT-OFF DISTANCE.

◆ TEXTURELOAD_t

typedef DWORD Gray3D::TEXTURELOAD_t

mask of TEXTURELOAD_TYPE_

Enumeration Type Documentation

◆ Model3DS_TYPE

Enumerator
Model3DS_UNK 
Model3DS_PRIMARY2 
Model3DS_PRIMARY 
Model3DS_OBJECTINFO 
Model3DS_VERSION 
Model3DS_EDITKEYFRAME 
Model3DS_MATERIAL 
Model3DS_OBJECT 
Model3DS_MATNAME 
Model3DS_MATDIFFUSE 
Model3DS_MATMAP 
Model3DS_MATMAPFILE 
Model3DS_OBJECT_MESH 
Model3DS_OBJECT_VERTICES 
Model3DS_OBJECT_FACES 
Model3DS_OBJECT_MATERIAL 
Model3DS_OBJECT_UV 

◆ ModelX_FrameMask_TYPE_

Bitmask of ModelX_FrameName_TYPE in the model (sub meshes)

◆ ModelX_FrameName_TYPE

Special named sub frames inside the X file. having special purposes.

Enumerator
ModelX_FrameName_QTY 

◆ TEXTURELOAD_TYPE_

params affecting loading a texture from a file.

Enumerator
TEXTURELOAD_NOP 

load default. demand load.

TEXTURELOAD_NONCRIT 

Non critical, normal map type texture. OK if it doesn't exist.

TEXTURELOAD_NOW 

Fully load the texture now, (synchronous load)

TEXTURELOAD_SIZE 

MUST have the size now. We can load actual pixels as TEXTURELOAD_DEFERRED or on demand.

TEXTURELOAD_DEFERRED 

Don't load immediately, queue for later. (else load on demand)

TEXTURELOAD_SEARCH 

search down the directory tree for this. might be a shared texture.

TEXTURELOAD_MODELCHILD 

this texture is a child of the last loaded model. (for search path)

TEXTURELOAD_NORMALMAP 

This is a normal map. real name = Name + N.DDS. NOTE: never stretch or lossy compress a normal map. TEXTURELOAD_USESIZE.

TEXTURELOAD_FILTER 

Use the default image load filter (stretch the texture to a power of 2)

TEXTURELOAD_USESIZE 

KEEP the exact size of the image. size my parent window.

TEXTURELOAD_USEASPECT 

KEEP the aspect ratio of the image. size my parent window.

◆ X_TOK_TYPE

Enumerator
X_NAME 

Function Documentation

◆ DECLARE_INTERFACE()

Gray3D::DECLARE_INTERFACE ( ISpatialTestVisitor  )

◆ UNITTEST2_CLASS() [1/11]

Gray3D::UNITTEST2_CLASS ( cCamera  )

◆ UNITTEST2_CLASS() [2/11]

Gray3D::UNITTEST2_CLASS ( cDX9  )

◆ UNITTEST2_CLASS() [3/11]

Gray3D::UNITTEST2_CLASS ( cDXBase  )

◆ UNITTEST2_CLASS() [4/11]

Gray3D::UNITTEST2_CLASS ( cMesh  )

◆ UNITTEST2_CLASS() [5/11]

Gray3D::UNITTEST2_CLASS ( cModel  )
Todo:
cModel::UnitTest

◆ UNITTEST2_CLASS() [6/11]

Gray3D::UNITTEST2_CLASS ( cModel3DS  )

◆ UNITTEST2_CLASS() [7/11]

Gray3D::UNITTEST2_CLASS ( cModelX  )

◆ UNITTEST2_CLASS() [8/11]

Gray3D::UNITTEST2_CLASS ( cOctree  )

◆ UNITTEST2_CLASS() [9/11]

Gray3D::UNITTEST2_CLASS ( cXSpritePage  )

◆ UNITTEST2_CLASS() [10/11]

Gray3D::UNITTEST2_CLASS ( cXTextureMgr  )

◆ UNITTEST2_CLASS() [11/11]

Gray3D::UNITTEST2_CLASS ( Gray3D  )

◆ UNITTEST2_PREDEF() [1/2]

Gray3D::UNITTEST2_PREDEF ( cOctree  )

◆ UNITTEST2_PREDEF() [2/2]

Gray3D::UNITTEST2_PREDEF ( cXTextureMgr  )

◆ UNITTEST2_REGISTER() [1/11]

Gray3D::UNITTEST2_REGISTER ( cCamera  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [2/11]

Gray3D::UNITTEST2_REGISTER ( cDX9  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [3/11]

Gray3D::UNITTEST2_REGISTER ( cDXBase  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [4/11]

Gray3D::UNITTEST2_REGISTER ( cMesh  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [5/11]

Gray3D::UNITTEST2_REGISTER ( cModel  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [6/11]

Gray3D::UNITTEST2_REGISTER ( cModel3DS  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [7/11]

Gray3D::UNITTEST2_REGISTER ( cModelX  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [8/11]

Gray3D::UNITTEST2_REGISTER ( cOctree  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [9/11]

Gray3D::UNITTEST2_REGISTER ( cXSpritePage  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [10/11]

Gray3D::UNITTEST2_REGISTER ( cXTextureMgr  ,
UNITTEST_LEVEL_Common   
)

◆ UNITTEST2_REGISTER() [11/11]

Gray3D::UNITTEST2_REGISTER ( Gray3D  ,
UNITTEST_LEVEL_Lib   
)

Variable Documentation

◆ cDXMeshIndex< WORD >

template class __DECL_IMPORT Gray3D::cDXMeshIndex< WORD >

◆ cDXMeshVertex< cVector3f >

template class __DECL_IMPORT Gray3D::cDXMeshVertex< cVector3f >

◆ g_Module

cOSModDyn Gray3D::g_Module(GRAY_NAMES "3D") ( GRAY_NAMES "3D"  )

◆ g_ResInstall

cInstallDir Gray3D::g_ResInstall

if the file name is not rooted this is its base. (acts like current dir)

if the resource file name is not rooted this is its base. (acts like current dir)