/*************************************************************************** * Copyright (c) 2023 Ondsel, Inc. * * * * This file is part of OndselSolver. * * * * See LICENSE file for details about copyright. * ***************************************************************************/ #pragma once #include "ASMTSpatialItem.h" #include "ASMTRefPoint.h" #include "ASMTRefCurve.h" #include "ASMTRefSurface.h" #include "ASMTPrincipalMassMarker.h" #include "Units.h" namespace MbD { class ASMTSpatialContainer : public ASMTSpatialItem { // public: void initialize() override; void readRefPoints(std::vector& lines); void readRefPoint(std::vector& lines); void readRefCurves(std::vector& lines); void readRefCurve(std::vector& lines); void readRefSurfaces(std::vector& lines); void readRefSurface(std::vector& lines); void readXs(std::vector& lines); void readYs(std::vector& lines); void readZs(std::vector& lines); void readBryantxs(std::vector& lines); void readBryantys(std::vector& lines); void readBryantzs(std::vector& lines); void readVXs(std::vector& lines); void readVYs(std::vector& lines); void readVZs(std::vector& lines); void readOmegaXs(std::vector& lines); void readOmegaYs(std::vector& lines); void readOmegaZs(std::vector& lines); void readAXs(std::vector& lines); void readAYs(std::vector& lines); void readAZs(std::vector& lines); void readAlphaXs(std::vector& lines); void readAlphaYs(std::vector& lines); void readAlphaZs(std::vector& lines); void createMbD(std::shared_ptr mbdSys, std::shared_ptr mbdUnits) override; FColDsptr rOcmO(); std::shared_ptr> qEp(); virtual FColDsptr vOcmO(); virtual FColDsptr omeOpO(); std::shared_ptr part() override; void updateFromMbD() override; void compareResults(AnalysisType type) override; std::shared_ptr>> refPoints; std::shared_ptr>> refCurves; std::shared_ptr>> refSurfaces; FRowDsptr xs, ys, zs, bryxs, bryys, bryzs; FRowDsptr vxs, vys, vzs, omexs, omeys, omezs; FRowDsptr axs, ays, azs, alpxs, alpys, alpzs; FRowDsptr inxs, inys, inzs, inbryxs, inbryys, inbryzs; FRowDsptr invxs, invys, invzs, inomexs, inomeys, inomezs; FRowDsptr inaxs, inays, inazs, inalpxs, inalpys, inalpzs; std::shared_ptr principalMassMarker; }; }