00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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
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
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