/////////////////////////////////////////////////////////////////////////////////////////////////// // file fem_fwds.h #pragma once #include #include #include #include class FEM_DLL_DECL CTCDataBase; class FEM_DLL_DECL CFemUndoRedoImplementation; class FEM_DLL_DECL CTCObjectFactory; class FEM_DLL_DECL CTCSelectionSet; namespace fem { enum eSystem { sys_global=0, sys_local , sys_weight , sys_max }; enum eFreedom { eUU1 = 0, eUU2 = 1, eUU3 = 2, eRR1 = 3, eRR2 = 4, eRR3 = 5, eFreedoms = 6 }; // Base Object class FEM_DLL_DECL CTCBaseObj; typedef boost::shared_ptr CBSPBaseObj; typedef std::list CBSPBaseObjList; typedef std::vector CBSPBaseObjVector; // BrickWall (τοιχοποιία) class FEM_DLL_DECL CTCBrickWall; typedef boost::shared_ptr CBSPBrickWall; typedef std::list CBSPBrickWallList; typedef std::vector CBSPBrickWallVector; // Soil class FEM_DLL_DECL CTCSoil; typedef boost::shared_ptr CBSPSoil; typedef std::list CBSPSoilList; typedef std::vector CBSPSoilVector; // Core Wall Frames Links class FEM_DLL_DECL CTCFrameCoreLink; typedef boost::shared_ptr CBSPFrameCoreLink; typedef std::list CBSPFrameCoreLinkList; typedef std::vector CBSPFrameCoreLinkVector; // Basement Wall Frames Links class FEM_DLL_DECL CTCFrameWallLink; typedef boost::shared_ptr CBSPFrameWallLink; typedef std::list CBSPFrameWallLinkList; typedef std::vector CBSPFrameWallLinkVector; // Constraint class FEM_DLL_DECL CTCConstraint; typedef boost::shared_ptr CBSPConstraint; typedef std::list CBSPConstraintList; typedef std::vector CBSPConstraintVector; namespace joints { // Joint Mass class FEM_DLL_DECL CTCMass; typedef boost::shared_ptr CBSPMass; typedef std::list CBSPMassList; typedef std::vector CBSPMassVector; // Joint Spring / Restraint class FEM_DLL_DECL CTCSpring; typedef boost::shared_ptr CBSPSpring; typedef std::list CBSPSpringList; typedef std::vector CBSPSpringVector; } namespace loads { // all Loading Objects Base class class FEM_DLL_DECL CTCLoadingObject; typedef boost::shared_ptr CBSPLoadingObject; typedef std::list CBSPLoadingObjectList; typedef std::vector CBSPLoadingObjectVector; namespace joints { // Joint Force class FEM_DLL_DECL CTCForce; typedef boost::shared_ptr CBSPForce; typedef std::list CBSPForceList; typedef std::vector CBSPForceVector; // Joint Displacement class FEM_DLL_DECL CTCDispl; typedef boost::shared_ptr CBSPDispl; typedef std::list CBSPDisplList; typedef std::vector CBSPDisplVector; } // namespace joints namespace frames { // all Frame Loads Base class class FEM_DLL_DECL CTCLoad; typedef boost::shared_ptr CBSPLoad; typedef std::list CBSPLoadList; typedef std::vector CBSPLoadVector; // Frame Spot Load class FEM_DLL_DECL CTCSpot; typedef boost::shared_ptr CBSPSpot; typedef std::list CBSPSpotList; typedef std::vector CBSPSpotVector; // Frame Trap Load class FEM_DLL_DECL CTCTrap; typedef boost::shared_ptr CBSPTrap; typedef std::list CBSPTrapList; typedef std::vector CBSPTrapVector; // Frame Temperature Load class FEM_DLL_DECL CTCTemp; typedef boost::shared_ptr CBSPTemp; typedef std::list CBSPTempList; typedef std::vector CBSPTempVector; } // namespace frames } // namespace loads namespace plates { // Plate Surface Load class FEM_DLL_DECL CTCPlateSurfaceLoadNew; typedef boost::shared_ptr CBSPPlateSurfaceLoad; typedef std::list CBSPPlateSurfaceLoadList; typedef std::vector CBSPPlateSurfaceLoadVector; // Plate Load Case ==> Περίπτωση Φόρτισης [όχι G,Q, ... αλλά επικάλυψη, μόνιμο κατανεμμημένο κλπ] class FEM_DLL_DECL CTCPlateLoadCaseNew; typedef boost::shared_ptr CBSPPlateLoadCase; typedef std::list CBSPPlateLoadCaseList; typedef std::vector CBSPPlateLoadCaseVector; // Plate Side class FEM_DLL_DECL CTCPlateSideNew; typedef boost::shared_ptr CBSPPlateSide; typedef std::list CBSPPlateSideList; typedef std::vector CBSPPlateSideVector; } // namespace plates extern CTCDataBase* s_pDB; extern CFemUndoRedoImplementation* s_pUndoRedo; #ifdef _DEBUG extern CGDIScene* s_pDebugScene; #endif FEM_DLL_DECL void StartUp(CTCDataBase* pDB, CTCObjectFactory* pFactory, CTCSelectionSet* pShown, CTCSelectionSet* pSelected, CFemUndoRedoImplementation* pUndoRedo #ifdef _DEBUG , CGDIScene* pDebugScene #endif ); } // namespace fem