Extern :
- C3d aggiornamento delle librerie.
This commit is contained in:
@@ -540,14 +540,16 @@ namespace c3d // namespace C3D
|
||||
/// \ru Подсказка для продленной грани. \en Hint for extended face.
|
||||
c3d_constexpr TCHAR c3dStr_ExtendedFace[] = _T( "c3d_ExtendedFace" );
|
||||
|
||||
/// \ru Подсказка для контрольного значения массы. \en Hint for the mass validation property.
|
||||
/// \ru Подсказка для контрольного значения массы. \en Prompt for the mass validation property.
|
||||
c3d_constexpr TCHAR c3dStr_ValidationPropertyMassExchange[] = _T( "c3d_ValidationPropertyMassExchange" );
|
||||
/// \ru Подсказка для контрольного значения объёма. \en Hint for the volume validation property.
|
||||
/// \ru Подсказка для контрольного значения объёма. \en Prompt for the volume validation property.
|
||||
c3d_constexpr TCHAR c3dStr_ValidationPropertyVolumeExchange[] = _T( "c3d_ValidationPropertyVolumeExchange" );
|
||||
/// \ru Подсказка для контрольного значения площади поверхности. \en Hint for the surface area validation property.
|
||||
/// \ru Подсказка для контрольного значения площади поверхности. \en Prompt for the surface area validation property.
|
||||
c3d_constexpr TCHAR c3dStr_ValidationPropertySurfaceAreaExchange[] = _T( "c3d_ValidationPropertySurfaceAreaExchange" );
|
||||
/// \ru Подсказка для идентификатора элемента при обмене данными. \en Hint for the item identifier in model exchange operations.
|
||||
/// \ru Подсказка для идентификатора элемента при обмене данными. \en Prompt for the item identifier in model exchange operations.
|
||||
c3d_constexpr TCHAR c3dStr_ItemIdentifierExchange[] = _T( "c3d_ItemIdentifierExchange" );
|
||||
/// \ru Подсказка для URL текстуры при обмене данными. \en Prompt for the URL of texture in model exchange operations.
|
||||
c3d_constexpr TCHAR c3dStr_TextureUrl[] = _T("C3D_Texture_URL");
|
||||
} // namespace C3D
|
||||
|
||||
#endif // __ATTRIBUTE_H
|
||||
|
||||
@@ -140,7 +140,7 @@ public:
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual void AddYourGabaritTo( MbCube & r ) const; // \ru Добавить свой габарит в куб. \en Add your own bounding box into a cube.
|
||||
virtual void AddYourGabaritTo( MbCube & ) const; // \ru Добавить свой габарит в куб. \en Add your own bounding box into a cube.
|
||||
virtual void Refresh(); // \ru Сбросить все временные данные. \en Reset all temporary data.
|
||||
virtual void PrepareIntegralData( const bool forced ) const; // \ru Рассчитать временные (mutable) данные объекта. \en Calculate temporary (mutable) data of an object.
|
||||
|
||||
|
||||
@@ -117,9 +117,6 @@ public:
|
||||
double GetParam( size_t index ) const; // \ru Дать значение параметра точки по номеру \en Get the value of point parameter by its number
|
||||
double GetValue( size_t index ) const; // \ru Дать значение точки по номеру \en Get the value of point by its number
|
||||
double GetDerive( size_t index ) const; // \ru Дать значение производной по номеру \en Get the value of derivative by its number
|
||||
// \ru Получить коэффициенты кубической функции на указанном интервале.
|
||||
// \en Get the coefficients of the cubic function on the specified interval.
|
||||
void GetCubicFactors( size_t index, double & a, double & b, double & c, double & d ) const;
|
||||
|
||||
private:
|
||||
bool CalculateDerivatives(); // \ru Расчет производных. \en Calculation of derivatives
|
||||
|
||||
@@ -2484,7 +2484,7 @@ inline reader & operator >> ( reader & ps, unsigned short & sh )
|
||||
return ps;
|
||||
}
|
||||
|
||||
#ifdef __MOBILE_VERSION__
|
||||
//#ifdef __MOBILE_VERSION__
|
||||
//----------------------------------------------------------------------------------------
|
||||
/// \ru Чтение wchar_t в поток. \en Reading wchar_t to the stream. \~ \ingroup Base_Tools_IO
|
||||
// ---
|
||||
@@ -2500,7 +2500,7 @@ inline reader & operator >> ( reader & ps, wchar_t & sh )
|
||||
|
||||
return ps;
|
||||
}
|
||||
#endif // __MOBILE_VERSION__
|
||||
//#endif // __MOBILE_VERSION__
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
@@ -2618,7 +2618,7 @@ inline writer& operator << ( writer& ps, unsigned short sh )
|
||||
return ps;
|
||||
}
|
||||
|
||||
#ifdef __MOBILE_VERSION__
|
||||
//#ifdef __MOBILE_VERSION__
|
||||
//----------------------------------------------------------------------------------------
|
||||
/// \ru Запись wchar_t в поток. \en Write wchar_t to the stream. \~ \ingroup Base_Tools_IO
|
||||
// ---
|
||||
@@ -2628,7 +2628,7 @@ inline writer & operator << ( writer & ps, wchar_t sh )
|
||||
ps.writeBytes( &sh, size );
|
||||
return ps;
|
||||
}
|
||||
#endif // __MOBILE_VERSION__
|
||||
//#endif // __MOBILE_VERSION__
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
@@ -94,24 +94,26 @@ public:
|
||||
\en The iterator by a set of solids models. \~
|
||||
\details \ru Итератор по множеству моделей тел.\n
|
||||
\en The iterator by a set of solids models.\n \~
|
||||
\param[in] lumps - \ru Набор тел с матрицами и признаками рассечения.
|
||||
\en A set of solids with matrices and dissections attributes. \~
|
||||
\param[in] place - \ru Плоскость секущего вида.
|
||||
\en A plane of secant view. \~
|
||||
\param[in] isViewCut - \ru Признак вида-разреза (а не сечения).
|
||||
\en An attribute of a cutaway-view (not section). \~
|
||||
\param[in] isDismantel - \ru Разнесенный вид сборки.
|
||||
\en Dismantled view of the assembly. \~
|
||||
\param[in] ncontour - \ru Контур разреза\сечения.
|
||||
\en A cutaway\section contour. \~
|
||||
\param[in] ncontourNames - \ru Именователь контура.
|
||||
\en A name-maker of contour. \~
|
||||
\param[in] part - \ru Сторона отсечения. Имеет значение знак числа.
|
||||
\en A cut-off side. It have a value of the number sign. \~
|
||||
\param[in] visMode - \ru Настройки видимости следов проецируемых объектов.
|
||||
\en Visibility mode of mapping. \~
|
||||
\param[in] obj_version - \ru Математическая версия.
|
||||
\en Mathematical version. \~
|
||||
\param[in] lumps - \ru Набор тел с матрицами и признаками рассечения.
|
||||
\en A set of solids with matrices and dissections attributes. \~
|
||||
\param[in] place - \ru Плоскость секущего вида.
|
||||
\en A plane of secant view. \~
|
||||
\param[in] isViewCut - \ru Признак вида-разреза (а не сечения).
|
||||
\en An attribute of a cutaway-view (not section). \~
|
||||
\param[in] isDismantel - \ru Разнесенный вид сборки.
|
||||
\en Dismantled view of the assembly. \~
|
||||
\param[in] ncontour - \ru Контур разреза\сечения.
|
||||
\en A cutaway\section contour. \~
|
||||
\param[in] ncontourNames - \ru Именователь контура.
|
||||
\en A name-maker of contour. \~
|
||||
\param[in] part - \ru Сторона отсечения. Имеет значение знак числа.
|
||||
\en A cut-off side. It have a value of the number sign. \~
|
||||
\param[in] visMode - \ru Настройки видимости следов проецируемых объектов.
|
||||
\en Visibility mode of mapping. \~
|
||||
\param[in] doCommonNaming - \ru Именовать все промежуточные тела вместе.
|
||||
\en Do common naming of all intermediate bodies. \~
|
||||
\param[in] obj_version - \ru Математическая версия.
|
||||
\en Mathematical version. \~
|
||||
\return \ru Итератор видов сечений.
|
||||
\en The iterator of section views. \~
|
||||
*/
|
||||
@@ -123,7 +125,8 @@ public:
|
||||
const MbSNameMaker & ncontourNames,
|
||||
ptrdiff_t part,
|
||||
const MbMapVisibilityMode & visMode,
|
||||
VERSION obj_version ); // _BUG_18777_DEF_
|
||||
bool doCommonNaming,
|
||||
VERSION obj_version ); // _BUG_18777_DEF_
|
||||
|
||||
/** \brief \ru Валидность контура.
|
||||
\en The validity of the contour. \~
|
||||
@@ -182,18 +185,22 @@ public:
|
||||
\en The iterator by a set of solids models. \~
|
||||
\details \ru Итератор по множеству моделей тел.\n
|
||||
\en The iterator by a set of solids models.\n \~
|
||||
\param[in] lumps - \ru Набор тел с матрицами и признаками рассечения.
|
||||
\en A set of solids with matrices and dissections attributes. \~
|
||||
\param[in] place - \ru Плоскость секущего вида.
|
||||
\en A plane of secant view. \~
|
||||
\param[in] isViewCut - \ru Признак вида-разреза (а не сечения).
|
||||
\en An attribute of a cutaway-view (not section). \~
|
||||
\param[in] contour - \ru Контур разреза\сечения.
|
||||
\en A cutaway\section contour. \~
|
||||
\param[in] contourNames - \ru Именователь контура.
|
||||
\en A name-maker of contour. \~
|
||||
\param[in] invisible - \ru Строить невидимые линии.
|
||||
\en Build invisible lines. \~
|
||||
\param[in] lumps - \ru Набор тел с матрицами и признаками рассечения.
|
||||
\en A set of solids with matrices and dissections attributes. \~
|
||||
\param[in] place - \ru Плоскость секущего вида.
|
||||
\en A plane of secant view. \~
|
||||
\param[in] isViewCut - \ru Признак вида-разреза (а не сечения).
|
||||
\en An attribute of a cutaway-view (not section). \~
|
||||
\param[in] isDismantel - \ru Разнесенный вид сборки.
|
||||
\en Dismantled view of the assembly. \~
|
||||
\param[in] contour - \ru Контур разреза\сечения.
|
||||
\en A cutaway\section contour. \~
|
||||
\param[in] contourNames - \ru Именователь контура.
|
||||
\en A name-maker of contour. \~
|
||||
\param[in] visMode - \ru Настройки видимости следов проецируемых объектов.
|
||||
\en Visibility mode of mapping. \~
|
||||
\param[in] doCommonNaming - \ru Именовать все промежуточные тела вместе.
|
||||
\en Do common naming of all intermediate bodies. \~
|
||||
\return \ru Итератор местных видов сечений.
|
||||
\en The iterator of local views of sections. \~
|
||||
*/
|
||||
@@ -203,7 +210,8 @@ public:
|
||||
bool isDismantel,
|
||||
const MbContour & contour,
|
||||
const MbSNameMaker & contourNames,
|
||||
const MbMapVisibilityMode & visMode );
|
||||
const MbMapVisibilityMode & visMode,
|
||||
bool doCommonNaming );
|
||||
}; // MbLocalSectionMapIterator
|
||||
|
||||
|
||||
|
||||
@@ -31,11 +31,18 @@ class MATH_CLASS MbSurface;
|
||||
|
||||
namespace c3d // namespace C3D
|
||||
{
|
||||
typedef std::pair<MbCube, size_t> CubeIndex; ///< \ru Габаритный куб и индекс. \en Bounding box and index.
|
||||
typedef std::pair<size_t, MbCube> IndexCube; ///< \ru Индекс и габаритный куб. \en Index and bounding box.
|
||||
typedef std::pair<MbCube *, size_t> CubePtrIndex; ///< \ru Габаритный куб и индекс. \en Bounding box and index.
|
||||
typedef std::pair<size_t, MbCube *> IndexCubePtr; ///< \ru Индекс и габаритный куб. \en Index and bounding box.
|
||||
typedef std::pair<const MbCube *, size_t> ConstCubePtrIndex; ///< \ru Габаритный куб и индекс. \en Bounding box and index.
|
||||
typedef std::pair<size_t, const MbCube *> IndexConstCubePtr; ///< \ru Индекс и габаритный куб. \en Index and bounding box.
|
||||
|
||||
typedef std::vector<CubePtrIndex> CubesPtrIndices; ///< \ru Вектор габаритных кубов и индексов. \en Vector of bounding boxes and indices.
|
||||
typedef std::vector<ConstCubePtrIndex> ConstCubesPtrIndices; ///< \ru Вектор габаритных кубов и индексов. \en Vector of bounding boxes and indices.
|
||||
typedef std::vector<MbCube> CubesVector; ///< \ru Вектор габаритных кубов. \en Vector of bounding boxes.
|
||||
typedef std::vector<IndexCube> IndexCubeVector; ///< \ru Вектор индексов и габаритных кубов. \en Vector of indices and bounding boxes.
|
||||
typedef std::vector<CubeIndex> CubeIndexVector; ///< \ru Вектор индексов и габаритных кубов. \en Vector of indices and bounding boxes.
|
||||
typedef MbCubeTree<MbCube, MbCube, MbCartPoint3D> CubesTree; ///< \ru Дерево габаритных кубов. \en Tree of bounding boxes.
|
||||
} // namespace C3D
|
||||
|
||||
|
||||
@@ -563,7 +563,7 @@ public:
|
||||
MbFairCurveData() :
|
||||
//closed( false ), fairing( false ), arrange( false ), subdivision( fairSubdiv_Single ),
|
||||
closed( false ), fairing( true ), arrange( false ), subdivision( fairSubdiv_Single ), //DEBUG 2020 25
|
||||
accountCurvature( fairCur_No ), accountInflexVector( fairVector_SegmentDir ),
|
||||
accountCurvature( fairCur_No ), accountInflexVector( fairVector_Tangent ),
|
||||
fixPntTng( fixPntTng_NotFix ),
|
||||
//approx( fairApprox_KnotsSpline ), create( 1 ), degreeBSpline( 8 ),
|
||||
approx( fairApprox_IsoNurbs ), create( 1 ), degreeBSpline( 8 ), //DEBUG 2020 25
|
||||
|
||||
@@ -705,8 +705,10 @@ enum MbeFairApprox
|
||||
//---
|
||||
enum MbeFairVector
|
||||
{
|
||||
fairVector_SegmentDir = 0, ///< \ru Направление звена S-полигона. \en Direction of segment of S-polygon.
|
||||
fairVector_Tangent = 1, ///< \ru Направление касательной. \en Direction of tangent to curve.
|
||||
fairVector_Tangent = 0, ///< \ru Учет направления касательной. \en Direction of tangent to curve.
|
||||
fairSmooth_Segment = 1, ///< \ru Плавная форма участка перегиба. \en Smooth shape of the inflection site.
|
||||
fairSuperSmooth_Segment = 2, ///< \ru Супер плавная форма участка перегиба. \en Super smooth shape of the inflection site.
|
||||
|
||||
};
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Управление построением гладких кривых на базе трехмерной ломаной. Учет касательной в заданной точке / точки на касательной.
|
||||
|
||||
@@ -206,7 +206,7 @@ enum MbResultType {
|
||||
rt_MissingKnots, ///< 26 \ru Отсутствует вектор узлов. \en Missing knots vector.
|
||||
rt_ClosedSpline, ///< 27 \ru Замкнутый сплайн во внешнем файле. \en Closed spline in an external file.
|
||||
rt_ObjectNotSelected, ///< 28 \ru Не выбран нужный объект. \en Object is not selected.
|
||||
rt_Reserved1, ///< 29 \ru Зарезервировано. \en Reserved.
|
||||
rt_SharpChangeCurvature, ///< 29 \ru \ru Резкое изменение кривизны на участке перегиба \en A sharp change in curvature at the inflection site.
|
||||
rt_Reserved2, ///< 30 \ru Зарезервировано. \en Reserved.
|
||||
rt_TooFewStartPoints, ///< 31 \ru Слишком мало точек на выпуклом участке начального участка. \en Too few points on convex start site of curve.
|
||||
rt_BanClosedConfiguration, ///< 32 \ru Запрет на замкнутую конфигурацию при количестве точек < 5. \en A ban on a closed configuration when the number of points < 5.
|
||||
|
||||
@@ -166,9 +166,10 @@ public: /** \}
|
||||
MbPlacement3D & Init();
|
||||
/// \ru Инициализировать по плейсменту. \en Initialize by a placement.
|
||||
MbPlacement3D & Init( const MbPlacement3D & );
|
||||
/// \ru Инициализировать по матрице. \en Constructor by a matrix.
|
||||
/// \ru Инициализировать по матрице. \en Initialize by a matrix.
|
||||
MbPlacement3D & Init( const MbMatrix3D & matr );
|
||||
|
||||
/// \ru Инициализировать с произвольной осью 'X'. \en Initialize by point and vector (Z-axis) with arbitrary X-axis.
|
||||
void Init( const MbCartPoint3D & initOrigin, const MbVector3D & initAxisZ );
|
||||
/// \ru Инициализировать по началу и векторам осей X, Z. \en Initialize by the origin and vectors of X and Z axes.
|
||||
MbPlacement3D & Init( const MbCartPoint3D & p, const MbVector3D & axisZ, const MbVector3D & axisX,
|
||||
bool left = false );
|
||||
|
||||
@@ -248,7 +248,7 @@ inline bool Array2<Type>::SetSize( size_t lSize, size_t cSize ) {
|
||||
template <class Type>
|
||||
const Type & Array2<Type>::GetElem( size_t ln, size_t cn ) const {
|
||||
PRECONDITION( !!parr && ln < l && cn < c );
|
||||
return parr[ln][cn];
|
||||
return parr[ln][cn]; // SKIP_SA
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -267,14 +267,14 @@ void Array2<Type>::SetElem( size_t ln, size_t cn, const Type & v ) {
|
||||
template <class Type>
|
||||
const Type & Array2<Type>::operator() ( size_t i, size_t j ) const {
|
||||
PRECONDITION( i < l && j < c );
|
||||
return parr[i][j];
|
||||
return parr[i][j]; // SKIP_SA
|
||||
}
|
||||
|
||||
/// \ru Оператор доступа по индексам. \en Access by indices operator.
|
||||
template <class Type>
|
||||
Type & Array2<Type>::operator() ( size_t i, size_t j ) {
|
||||
PRECONDITION( i < l && j < c );
|
||||
return parr[i][j];
|
||||
return parr[i][j]; // SKIP_SA
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -624,10 +624,10 @@ public :
|
||||
\en Add your own bounding box into bounding cube. \~
|
||||
\param[out] gab -\ru Габаритный куб для добавления габарита оболочки.
|
||||
\en Bounding box for adding a bounding box of the shell. \~
|
||||
\param[out] vec -\ru Контейнер для расширенных габаритов граней оболочки.
|
||||
\en Сontainer for extended bounding boxes of shell faces. \~
|
||||
\param[out] extTolCubes - \ru Контейнер для расширенных габаритов граней оболочки с неточными ребрам.
|
||||
\en Container of extended bounding boxes of shell faces that contain inexact edges. \~
|
||||
*/
|
||||
void AddYourGabaritTo( MbCube & gab, std::vector<std::pair<size_t, MbCube>> * vec = c3d_null ) const;
|
||||
void AddYourGabaritTo( MbCube & gab, c3d::IndexCubeVector * extTolCubes = c3d_null ) const;
|
||||
/// \ru Рассчитать габарит оболочки. \en Calculate bounding box of the shell.
|
||||
void CalculateGabarit( MbCube & ) const;
|
||||
/// \ru Рассчитать габарит в локальной системы координат, заданной матрицей matrToLocal преобразования в неё \en Calculate bounding box in the local coordinate system which is given by the matrix 'matrToLocal ' of transformation to it.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user