Windows2003-3790/multimedia/directx/dxvb/dx7vb/d3drmmeshbuilder3obj.h

316 lines
12 KiB
C
Raw Normal View History

2001-01-01 00:00:00 +01:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: d3drmmeshbuilder3obj.h
//
//--------------------------------------------------------------------------
// d3drmMeshBuilderObj.h : Declaration of the C_dxj_Direct3dRMMeshBuilderObject
#include "resource.h" // main symbols
#include "d3drmObjectObj.h"
#define typedef__dxj_Direct3dRMMeshBuilder3 LPDIRECT3DRMMESHBUILDER3
/////////////////////////////////////////////////////////////////////////////
// Direct
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
//references as template arguments.
class C_dxj_Direct3dRMMeshBuilder3Object :
public I_dxj_Direct3dRMMeshBuilder3,
public I_dxj_Direct3dRMObject,
public I_dxj_Direct3dRMVisual,
//public CComCoClass<C_dxj_Direct3dRMMeshBuilder3Object, &CLSID__dxj_Direct3dRMMeshBuilder3>,
public CComObjectRoot
{
public:
C_dxj_Direct3dRMMeshBuilder3Object();
virtual ~C_dxj_Direct3dRMMeshBuilder3Object();
BEGIN_COM_MAP(C_dxj_Direct3dRMMeshBuilder3Object)
COM_INTERFACE_ENTRY(I_dxj_Direct3dRMMeshBuilder3)
COM_INTERFACE_ENTRY(I_dxj_Direct3dRMObject)
COM_INTERFACE_ENTRY(I_dxj_Direct3dRMVisual)
END_COM_MAP()
DECLARE_AGGREGATABLE(C_dxj_Direct3dRMMeshBuilder3Object)
// I_dxj_Direct3dRMMeshBuilder
public:
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
/* [in] */ IUnknown __RPC_FAR *lpdd);
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
/* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
HRESULT STDMETHODCALLTYPE addDestroyCallback(
/* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
/* [in] */ IUnknown __RPC_FAR *arg);
HRESULT STDMETHODCALLTYPE deleteDestroyCallback(
/* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
/* [in] */ IUnknown __RPC_FAR *args);
HRESULT STDMETHODCALLTYPE clone(
/* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE setAppData(
/* [in] */ long data);
HRESULT STDMETHODCALLTYPE getAppData(
/* [retval][out] */ long __RPC_FAR *data);
HRESULT STDMETHODCALLTYPE setName(
/* [in] */ BSTR name);
HRESULT STDMETHODCALLTYPE getName(
/* [retval][out] */ BSTR __RPC_FAR *name);
HRESULT STDMETHODCALLTYPE getClassName(
/* [retval][out] */ BSTR __RPC_FAR *name);
HRESULT STDMETHODCALLTYPE addFace(
/* [in] */ I_dxj_Direct3dRMFace2 __RPC_FAR *f);
HRESULT STDMETHODCALLTYPE addFaces(
/* [in] */ long vc,
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *verexArray,
/* [in] */ long nc,
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *normalArray,
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *data,
/* [retval][out] */ I_dxj_Direct3dRMFaceArray __RPC_FAR *__RPC_FAR *array);
HRESULT STDMETHODCALLTYPE addFacesIndexed(
/* [in] */ long flags,
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *indexArray,
/* [retval][out] */ long __RPC_FAR *newFaceIndex);
HRESULT STDMETHODCALLTYPE addFrame(
/* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *f);
HRESULT STDMETHODCALLTYPE addMesh(
/* [in] */ I_dxj_Direct3dRMMesh __RPC_FAR *m);
HRESULT STDMETHODCALLTYPE addMeshBuilder(
/* [in] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR *mb, long flags);
HRESULT STDMETHODCALLTYPE addNormal(
/* [in] */ float x,
/* [in] */ float y,
/* [in] */ float z,
/* [retval][out] */ int __RPC_FAR *index);
HRESULT STDMETHODCALLTYPE addTriangles(
/* [in] */ long format,
/* [in] */ long vertexcount,
/* [in] */ void __RPC_FAR *data);
HRESULT STDMETHODCALLTYPE addVertex(
/* [in] */ float x,
/* [in] */ float y,
/* [in] */ float z,
/* [retval][out] */ int __RPC_FAR *index);
HRESULT STDMETHODCALLTYPE createFace(
/* [retval][out] */ I_dxj_Direct3dRMFace2 __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createMesh(
/* [retval][out] */ I_dxj_Direct3dRMMesh __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createSubMesh(
/* [retval][out] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE deleteFace(
/* [in] */ I_dxj_Direct3dRMFace2 __RPC_FAR *face);
HRESULT STDMETHODCALLTYPE deleteNormals(
/* [in] */ long id, long count);
HRESULT STDMETHODCALLTYPE deleteSubMesh(
/* [in] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR *mesh);
HRESULT STDMETHODCALLTYPE deleteVertices(
/* [in] */ long id, long count);
HRESULT STDMETHODCALLTYPE empty();
HRESULT STDMETHODCALLTYPE enableMesh(
/* [in] */ long flags);
HRESULT STDMETHODCALLTYPE generateNormals(
float angle,
long flags);
HRESULT STDMETHODCALLTYPE getBox(
/* [out][in] */ D3dRMBox __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getColorSource(
/* [retval][out] */ d3drmColorSource __RPC_FAR *data);
HRESULT STDMETHODCALLTYPE getEnable(
/* [retval][out] */ long __RPC_FAR *flags);
HRESULT STDMETHODCALLTYPE getFace(
/* [in] */ long id,
/* [retval][out] */ I_dxj_Direct3dRMFace2 __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getFaceCount(
/* [retval][out] */ int __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getFaces(
/* [retval][out] */ I_dxj_Direct3dRMFaceArray __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getGeometry(
/* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *verexArray,
/* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *normalArray,
/* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *faceData);
HRESULT STDMETHODCALLTYPE getNormal(
/* [in] */ long __MIDL_0016,
/* [out][in] */ D3dVector __RPC_FAR *desc);
HRESULT STDMETHODCALLTYPE getNormalCount(
/* [retval][out] */ long __RPC_FAR *n_cnt);
HRESULT STDMETHODCALLTYPE getParentMesh(
/* [in] */ long flags,
/* [retval][out] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR **vis);
HRESULT STDMETHODCALLTYPE getPerspective(
/* [retval][out] */ long __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getQuality(
/* [retval][out] */ d3drmRenderQuality __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getSubMeshes(
/* [in] */ long count,
/* [retval][out] */ SAFEARRAY **ppsa);
HRESULT STDMETHODCALLTYPE getSubMeshCount(
/* [retval][out] */ long __RPC_FAR *count);
HRESULT STDMETHODCALLTYPE getTextureCoordinates(
/* [in] */ long idx,
/* [out][in] */ float __RPC_FAR *u,
/* [out][in] */ float __RPC_FAR *v);
HRESULT STDMETHODCALLTYPE getVertex(
/* [in] */ long id,
/* [out][in] */ D3dVector __RPC_FAR *vec);
HRESULT STDMETHODCALLTYPE getVertexColor(
/* [in] */ long index,
/* [retval][out] */ d3dcolor __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getVertexCount(
/* [retval][out] */ int __RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE getFaceDataSize(
/* [retval][out] */ long __RPC_FAR *f_cnt);
HRESULT STDMETHODCALLTYPE loadFromFile(
/* [in] */ BSTR filename,
/* [in] */ VARIANT id,
/* [in] */ long flags,
/* [in] */ I_dxj_Direct3dRMLoadTextureCallback3 __RPC_FAR *c,
/* [in] */ IUnknown __RPC_FAR *pUser);
HRESULT STDMETHODCALLTYPE optimize();
HRESULT STDMETHODCALLTYPE save(
/* [in] */ BSTR fname,
/* [in] */ d3drmXofFormat xFormat,
/* [in] */ d3drmSaveFlags save);
HRESULT STDMETHODCALLTYPE scaleMesh(
/* [in] */ float sx,
/* [in] */ float sy,
/* [in] */ float sz);
HRESULT STDMETHODCALLTYPE setColor(
/* [in] */ d3dcolor col);
HRESULT STDMETHODCALLTYPE setColorRGB(
/* [in] */ float red,
/* [in] */ float green,
/* [in] */ float blue);
HRESULT STDMETHODCALLTYPE setColorSource(
/* [in] */ d3drmColorSource val);
HRESULT STDMETHODCALLTYPE setMaterial(
/* [in] */ I_dxj_Direct3dRMMaterial2 __RPC_FAR *mat);
HRESULT STDMETHODCALLTYPE setNormal(
/* [in] */ long idx,
/* [in] */ float x,
/* [in] */ float y,
/* [in] */ float z);
HRESULT STDMETHODCALLTYPE setPerspective(
/* [in] */ long persp);
HRESULT STDMETHODCALLTYPE setQuality(
/* [in] */ d3drmRenderQuality q);
HRESULT STDMETHODCALLTYPE setTexture(
/* [in] */ I_dxj_Direct3dRMTexture3 __RPC_FAR *val);
HRESULT STDMETHODCALLTYPE setTextureCoordinates(
/* [in] */ long idx,
/* [in] */ float u,
/* [in] */ float v);
HRESULT STDMETHODCALLTYPE setTextureTopology(
/* [in] */ long wrap_u,
/* [in] */ long wrap_v);
HRESULT STDMETHODCALLTYPE setVertex(
/* [in] */ long idx,
/* [in] */ float x,
/* [in] */ float y,
/* [in] */ float z);
HRESULT STDMETHODCALLTYPE setVertexColor(
/* [in] */ long idx,
/* [in] */ d3dcolor c);
HRESULT STDMETHODCALLTYPE setVertexColorRGB(
/* [in] */ long idx,
/* [in] */ float r,
/* [in] */ float g,
/* [in] */ float b);
HRESULT STDMETHODCALLTYPE translate(
/* [in] */ float tx,
/* [in] */ float ty,
/* [in] */ float tz);
/* [hidden] */ HRESULT STDMETHODCALLTYPE addFacesJava(
/* [in] */ long vc,
/* [in] */ float __RPC_FAR *ver,
/* [in] */ long nc,
/* [in] */ float __RPC_FAR *norm,
/* [in] */ long __RPC_FAR *data,
/* [retval][out] */ I_dxj_Direct3dRMFaceArray __RPC_FAR *__RPC_FAR *array);
////////////////////////////////////////////////////////////////////////////////////
private:
DECL_VARIABLE(_dxj_Direct3dRMMeshBuilder3);
public:
DX3J_GLOBAL_LINKS( _dxj_Direct3dRMMeshBuilder3 )
};