Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

hyp.out.interfaces.h

00001 /*
00002 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00003  Ephydryne Components.
00004  Ephydryne is a part of the Hyperion Project.
00005 ----------------------------------------------------------
00006  Copyright (c) 2001 Pierre Rebours.
00007 
00008  This library is free software; you can redistribute it and/or
00009  modify it under the terms of the GNU Lesser General Public
00010  License as published by the Free Software Foundation; either
00011  version 2.1 of the License, or (at your option) any later version.
00012 
00013  This library is distributed in the hope that it will be useful,
00014  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016  
00017  See hyp.license.txt file for more information about the license.
00018  
00019  Web: http://lagrandeporte.multimania.com/hyperion
00020  Email: pierre_rebours@yahoo.com
00021 ----------------------------------------------------------
00022  CVS
00023  $Log$
00024 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00025 */
00026 
00027 
00028 #ifndef _hyp_out_interfaces_h_
00029 #define _hyp_out_interfaces_h_
00030 
00031 #include<d3drmwin.h>
00032 
00033 #define hyp_NAMESPACE_BEGIN_HYPOUT hyp_NAMESPACE_BEGIN_HYP \
00034                                                                                 hyp_NAMESPACE_BEGIN(hypout)
00035 #define hyp_NAMESPACE_END_HYPOUT hyp_NAMESPACE_END_HYP \
00036                                                                                 hyp_NAMESPACE_END(hypout)
00037 
00038 
00039 hyp_NAMESPACE_BEGIN_HYPOUT
00040 
00041 
00042 //-----------------------------------------------------------------------
00047 
00056 struct IFileObject :
00057 public hyp_ker::IUnknown
00058 {
00063         virtual void SetObject(hyp_ker::IUnknown* pObject) =0;
00064 };
00065 
00066 
00072 struct ID3DMeshObject :
00073 public IFileObject
00074 {
00079         virtual void InitializeD3DMeshBuilder(LPDIRECT3DRMMESHBUILDER3 pComObject) =0;
00085         virtual void SaveD3DMeshBuilder(const std::string& FileName) =0;
00093         virtual void SaveD3DHypMesh(const std::string& FileName)=0;
00098         virtual void LoadD3DHypMesh(const std::string& FileName)=0;
00099 };
00100 
00101 // {DD182BE1-375E-11d5-A099-0080AD97951B}
00102 hyp_DEFINE_GUID(IID_hypID3DMeshObject, 
00103 0xdd182be1, 0x375e, 0x11d5, 0xa0, 0x99, 0x0, 0x80, 0xad, 0x97, 0x95, 0x1b);
00104 
00106 typedef hyp_ker::IPtr<ID3DMeshObject,&IID_hypID3DMeshObject> t_spD3DMeshObject;
00107 
00108 
00109 
00110 
00115 struct IShowMeshObject :
00116 public IFileObject
00117 {
00122         virtual void SetOutput(const std::string& FileName) =0;
00127         virtual void SetOutput(const std::ostream& Stream) =0;
00131         virtual void CloseOutput() =0;  
00135         virtual void ShowNodes() =0;
00139         virtual void ShowSides() =0;
00143         virtual void ShowElements() =0;
00147         virtual void ShowMatrix() =0;
00152         virtual void ShowMatrixDim() =0;
00156         virtual void ShowForceMask() =0;
00160         virtual void ShowRenderMask() =0;
00164         virtual void ShowDisplacements() =0;
00168         virtual void ShowGlobalDisplacements() =0;
00172         virtual void ShowForces() =0;
00176         virtual void ShowGlobalForces() =0;
00180         virtual void ShowAll() =0;
00181 };
00182 
00183 // {8DD90FE1-206B-11d5-A096-0080AD97951B}
00184 hyp_DEFINE_GUID(IID_hypIShowMeshObject, 
00185 0x8dd90fe1, 0x206b, 0x11d5, 0xa0, 0x96, 0x0, 0x80, 0xad, 0x97, 0x95, 0x1b);
00186 
00188 typedef hyp_ker::IPtr<IShowMeshObject,&IID_hypIShowMeshObject> t_spShowMeshObject;
00189 
00191 //-------------------------------------------------------------------------
00192 
00193 hyp_NAMESPACE_END_HYPOUT
00194 
00195 #endif

Top of Page
written by Pierre Rebours © 2000-2001. Terms of Use.