Files
Extern/C3d/Include/cr_beam_creator.h
SaraP 86f4bb48be Extern :
- C3d aggiornamento delle librerie ( 117960).
2023-10-12 08:53:50 +02:00

97 lines
5.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
////////////////////////////////////////////////////////////////////////////////
/**
\file
\brief \ru Строитель балочной кривой.
\en Constructor of beam curve.
*/
////////////////////////////////////////////////////////////////////////////////
#ifndef __CR_BEAM_CREATOR_H
#define __CR_BEAM_CREATOR_H
#include <creator.h>
#include <op_shell_parameter.h>
//------------------------------------------------------------------------------
/** \brief \ru Строитель балочной кривой.
\en Constructor of beam curve. \~
\details \ru Строитель балочной кривой.
\en Constructor of beam curve. \~
\ingroup Model_Creators
\warning \ru В разработке.
\en Under development. \~
*/
// ---
class MATH_CLASS MbBeamCreator : public MbCreator
{
private:
MbBeamElementParams _params; ///< \ru Параметры операции. \en Operation parameters.
c3d::CreatorsSPtrVector _creators; ///< \ru Журнал построения исходного тела \en History tree of the source solid.
protected:
/// \ru Конструктор копирования. \en Copy-constructor.
MbBeamCreator( const MbBeamCreator &, MbRegDuplicate * iReg );
private:
MbBeamCreator(); // \ru Конструктор по умолчанию. Не реализован. \en Default constructor. Not implemented.
public:
/// \ru Конструктор по параметрам. \en Constructor by parameters.
MbBeamCreator( const c3d::CreatorsSPtrVector & solidCreators, const MbBeamElementParams & beamParams );
/// \ru Деструктор. \en Destructor.
~MbBeamCreator() override;
// \ru Общие функции строителя. \en The common functions of the creator.
MbeCreatorType IsA() const override { return ct_BeamCurveCreator; }; // \ru Тип элемента. \en A type of element.
MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const override; // \ru Сделать копию. \en Create a copy.
bool IsSame( const MbCreator &, double accuracy ) const override; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
bool IsSimilar( const MbCreator & ) const override; // \ru Являются ли объекты подобными? \en Whether the objects are similar?
bool SetEqual( const MbCreator & ) override; // \ru Сделать равным. \en Make equal.
void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ) override; // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
void Move( const MbVector3D &, MbRegTransform * = nullptr ) override; // \ru Сдвиг. \en Translation.
void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ) override; // \ru Повернуть вокруг оси. \en Rotate about the axis.
MbePrompt GetPropertyName() override; // \ru Дать имя свойства объекта. \en Get the object property name.
void GetProperties( MbProperties & ) override; // \ru Выдать свойства объекта. \en Get properties of the object.
void SetProperties( const MbProperties & ) override; // \ru Записать свойства объекта. \en Set properties of the object.
/** \} */
bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * ) override; // \ru Построить кривую по журналу построения. \en Create a curve from the history tree. \~
OBVIOUS_PRIVATE_COPY( MbBeamCreator )
DECLARE_PERSISTENT_CLASS_NEW_DEL( MbBeamCreator )
};
IMPL_PERSISTENT_OPS( MbBeamCreator )
//------------------------------------------------------------------------------
/** \brief \ru Создание строителя балочной кривой.
\en Create a constructor of beam curve. \~
\details \ru Создание строителя балочной кривой.\n
\en Create a constructor of beam curve.\n \~
\param[in] sourceCurve - \ru Исходное тело.
\en Source solid. \~
\param[in] parameters - \ru Входные параметры.
\en Input parameters. \~
\param[in] names - \ru Именователь построенного каркаса.
\en An object defining the wireframe names. \~
\param[out] res - \ru Код результата операции.
\en Operation result code. \~
\param[out] result - \ru Выходные параметры.
\en Output parameters. \~
\result \ru Возвращает строитель.
\en Returns the constructor. \~
\ingroup Curve3D_Modeling
\warning \ru В разработке.
\en Under development. \~
*/
// ---
MATH_FUNC( c3d::CreatorSPtr ) CreateBeamCurves( const MbSolid & sourceSolid,
const MbBeamElementParams & parameters,
MbResultType & res,
MbBeamElementResults & result );
#endif // __CR_EXTENDING_CURVE_H