/*************************************************************************** * Copyright (c) 2023 Ondsel, Inc. * * * * This file is part of OndselSolver. * * * * See LICENSE file for details about copyright. * ***************************************************************************/ #pragma once #include "CREATE.h" namespace MbD { class ASMTAssembly; class Units; class ASMTSpatialContainer; class ASMTItem { // public: virtual ASMTAssembly* root(); virtual std::shared_ptr part(); virtual void initialize(); void setName(std::string str); virtual void parseASMT(std::vector& lines); FRowDsptr readRowOfDoubles(std::string& line); FColDsptr readColumnOfDoubles(std::string& line); double readDouble(std::string& line); int readInt(std::string& line); bool readBool(std::string& line); std::string readString(std::string& line); void readName(std::vector& lines); virtual std::string fullName(std::string partialName); void readDoublesInto(std::string& str, std::string label, FRowDsptr& row); virtual void deleteMbD(); virtual void createMbD(std::shared_ptr mbdSys, std::shared_ptr mbdUnits); virtual void updateFromMbD(); virtual void compareResults(AnalysisType type); virtual void outputResults(AnalysisType type); std::shared_ptr mbdUnits(); std::shared_ptr sptrConstant(double value); std::string name; ASMTItem* owner; std::shared_ptr mbdObject; }; }