Merge branch 'master' of https://gitlab.steamware.net/egaltech/extern
This commit is contained in:
@@ -77,7 +77,7 @@ MATH_FUNC (bool) IsMultiShell( const MbFaceShell * shell, bool checkNesting = tr
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, RPArray<MbFaceShell> & parts, bool sort, c3d::IndicesVector * partIndices = c3d_null );
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, RPArray<MbFaceShell> & parts, bool sort, c3d::IndicesVector * partIndices = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -102,7 +102,7 @@ MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, RPArray<MbFaceShell> & par
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, c3d::ShellsVector & parts, bool sort, c3d::IndicesVector * partIndices = c3d_null );
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, c3d::ShellsVector & parts, bool sort, c3d::IndicesVector * partIndices = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -127,7 +127,7 @@ MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, c3d::ShellsVector & parts,
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, c3d::ShellsSPtrVector & parts, bool sort, c3d::IndicesVector * partIndices = c3d_null );
|
||||
MATH_FUNC (size_t) DetachShells( MbFaceShell & shell, c3d::ShellsSPtrVector & parts, bool sort, c3d::IndicesVector * partIndices = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -153,7 +153,7 @@ size_t CreateShells( const MbFaceShell & shell, ShellsVector & parts, bool sort
|
||||
{
|
||||
c3d::ShellSPtr outer( new MbFaceShell( shell ) ); // new shell on the same faces (новая оболочка с теми же гранями)
|
||||
|
||||
c3d::IndicesVector * partIndices = c3d_null;
|
||||
c3d::IndicesVector * partIndices = nullptr;
|
||||
|
||||
if ( ::DetachShells( *outer, parts, sort, partIndices ) > 0 ) {
|
||||
parts.push_back( outer );
|
||||
@@ -1350,13 +1350,13 @@ c3d::SolidSPtr GetTransformedSolid( c3d::SolidSPtr & solid, MbeCopyMode & copyMo
|
||||
{
|
||||
c3d::SolidSPtr resSolid( solid );
|
||||
|
||||
if ( (resSolid != c3d_null) && !matr.IsSingle() ) {
|
||||
if ( (resSolid != nullptr) && !matr.IsSingle() ) {
|
||||
MbSNameMaker n( transformedMainName, MbSNameMaker::i_SideNone, 0 );
|
||||
|
||||
MbSolid * resSolidPtr = c3d_null;
|
||||
MbSolid * resSolidPtr = nullptr;
|
||||
TransformValues tv( matr );
|
||||
::TransformedSolid( *solid, cm_Copy, tv, n, resSolidPtr );
|
||||
if ( resSolidPtr != c3d_null ) {
|
||||
if ( resSolidPtr != nullptr ) {
|
||||
resSolid = resSolidPtr;
|
||||
copyMode = cm_Same;
|
||||
}
|
||||
@@ -1380,10 +1380,10 @@ c3d::SolidSPtr GetTransformedSolid( c3d::SolidSPtr & solid, MbeCopyMode & copyMo
|
||||
*/
|
||||
// ---
|
||||
template <class Item>
|
||||
SPtr<Item> GetTransformedItem( SPtr<Item> & item, const MbMatrix3D & matr, MbRegDuplicate * iDupReg = c3d_null, MbRegTransform * iTransReg = c3d_null )
|
||||
SPtr<Item> GetTransformedItem( SPtr<Item> & item, const MbMatrix3D & matr, MbRegDuplicate * iDupReg = nullptr, MbRegTransform * iTransReg = nullptr )
|
||||
{
|
||||
SPtr<Item> resItem( item );
|
||||
if ( (resItem != c3d_null) && !matr.IsSingle() ) {
|
||||
if ( (resItem != nullptr) && !matr.IsSingle() ) {
|
||||
resItem = static_cast<Item *>( &item->Duplicate( iDupReg ) );
|
||||
resItem->Transform( matr, iTransReg );
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ typedef void( *SurfaceFunction )( const MbSurface & surf, // Поверхно
|
||||
MATH_FUNC( void ) MinSurfaceCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -81,7 +81,7 @@ MATH_FUNC( void ) MinSurfaceCurvature( const MbSurface & surf,
|
||||
MATH_FUNC( void ) MaxSurfaceCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -102,7 +102,7 @@ MATH_FUNC( void ) MaxSurfaceCurvature( const MbSurface & surf,
|
||||
MATH_FUNC( void ) GaussCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -123,7 +123,7 @@ MATH_FUNC( void ) GaussCurvature( const MbSurface & surf,
|
||||
MATH_FUNC( void ) MeanCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -144,7 +144,7 @@ MATH_FUNC( void ) MeanCurvature( const MbSurface & surf,
|
||||
MATH_FUNC( void ) UNormalCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -165,7 +165,7 @@ MATH_FUNC( void ) UNormalCurvature( const MbSurface & surf,
|
||||
MATH_FUNC( void ) VNormalCurvature( const MbSurface & surf,
|
||||
const MbCartPoint & pnt,
|
||||
double & func,
|
||||
MbVector * der = c3d_null );
|
||||
MbVector * der = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -322,7 +322,7 @@ MATH_FUNC( void ) FacesMinMaxCurvature( const RPArray<MbFace> & faces,
|
||||
*/
|
||||
MATH_FUNC( double ) CurveOrientedCurvature( const MbCurve3D & curve,
|
||||
double & param,
|
||||
const MbVector3D * planeNorm = c3d_null );
|
||||
const MbVector3D * planeNorm = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -359,10 +359,10 @@ MATH_FUNC( void ) CurveMinMaxCurvature( const MbCurve3D & curve,
|
||||
double & maxParam,
|
||||
double & minCurv,
|
||||
double & minParam,
|
||||
c3d::DoubleVector * bendPoints = c3d_null,
|
||||
c3d::DoubleVector * maxPoints = c3d_null,
|
||||
c3d::DoubleVector * minPoints = c3d_null,
|
||||
c3d::DoublePairsVector * rapPoints = c3d_null );
|
||||
c3d::DoubleVector * bendPoints = nullptr,
|
||||
c3d::DoubleVector * maxPoints = nullptr,
|
||||
c3d::DoubleVector * minPoints = nullptr,
|
||||
c3d::DoublePairsVector * rapPoints = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -407,12 +407,14 @@ protected:
|
||||
private:
|
||||
const MbSNameMaker & snMaker; ///< \ru Именователь с версией операции. \en Names maker with operation version.
|
||||
public:
|
||||
/** \brief \ru Конструктор.
|
||||
\en Constructor. \~
|
||||
\details \ru Конструктор по параметрам.
|
||||
/** \brief \ru Конструктор по параметрам.
|
||||
\en Constructor by parameters. \~
|
||||
\details \ru Конструктор по кривой пересечения.
|
||||
\en Constructor by . \~
|
||||
\param[in] intCrv - \ru Кривая пересечения поверхностей.
|
||||
\en Surfaces intersection curve. \~
|
||||
\param[in] nm - \ru Именователь с версией операции.
|
||||
\en Names maker with operation version. \~
|
||||
*/
|
||||
MbNormalsMinMaxAnglesParams( const MbSurfaceIntersectionCurve & intCrv, const MbSNameMaker & nm )
|
||||
: intCurve ( &intCrv )
|
||||
@@ -422,75 +424,53 @@ public:
|
||||
, calcMode ( om_FuncDerCos2 )
|
||||
, snMaker ( nm )
|
||||
{}
|
||||
/** \brief \ru Конструктор.
|
||||
\en Constructor. \~
|
||||
\details \ru Конструктор по параметрам.
|
||||
/** \brief \ru Конструктор по параметрам.
|
||||
\en Constructor by parameters. \~
|
||||
\param[in] intCrv - \ru Кривая пересечения поверхностей.
|
||||
\en Surfaces intersection curve. \~
|
||||
\details \ru Конструктор по ребру.
|
||||
\en Constructor by edge. \~
|
||||
\param[in] edge - \ru Ребро.
|
||||
\en Edge. \~
|
||||
\param[in] nm - \ru Именователь с версией операции.
|
||||
\en Names maker with operation version. \~
|
||||
*/
|
||||
MbNormalsMinMaxAnglesParams( const MbCurveEdge & edge, const MbSNameMaker & nm )
|
||||
: intCurve ( &edge.GetIntersectionCurve() )
|
||||
, sameSense1( true )
|
||||
, sameSense2( true )
|
||||
, dirMatch ( ts_neutral )
|
||||
, calcMode ( om_FuncDerCos2 )
|
||||
, snMaker ( nm )
|
||||
{
|
||||
Init( edge );
|
||||
}
|
||||
/** \brief \ru Конструктор по параметрам.
|
||||
\en Constructor by parameters. \~
|
||||
\details \ru Конструктор по двум ребрам.
|
||||
\en Constructor by two edges. \~
|
||||
\param[in] edge1 - \ru Ребро 1.
|
||||
\en Edge 1. \~
|
||||
\param[in] edge2 - \ru Ребро 2.
|
||||
\en Edge 2. \~
|
||||
\param[in] аccuracy - \ru Заявленная точность совпадения ребер.
|
||||
\en Claimed edges matching accuracy. \~
|
||||
\param[in] nm - \ru Именователь с версией операции.
|
||||
\en Names maker with operation version. \~
|
||||
*/
|
||||
MbNormalsMinMaxAnglesParams( const MbCurveEdge & edge1, const MbFace & face1,
|
||||
const MbCurveEdge & edge2, const MbFace & face2,
|
||||
double accuracy, const MbSNameMaker & nm )
|
||||
: intCurve ( nullptr )
|
||||
, sameSense1( true )
|
||||
, sameSense2( true )
|
||||
, dirMatch ( ts_neutral )
|
||||
, calcMode ( om_FuncDerCos2 )
|
||||
, snMaker ( nm )
|
||||
{
|
||||
const MbSurface & surface1 = intCurve->GetCurveOneSurface().GetSurface();
|
||||
const MbSurface & surface2 = intCurve->GetCurveTwoSurface().GetSurface();
|
||||
const MbFace * fp = edge.GetFacePlus();
|
||||
const MbFace * fm = edge.GetFaceMinus();
|
||||
|
||||
if ( fp != c3d_null && fm != c3d_null ) {
|
||||
const MbSurface & sp = fp->GetSurface().GetSurface();
|
||||
const MbSurface & sm = fm->GetSurface().GetSurface();
|
||||
|
||||
if ( &sp == &surface1 && &sm == &surface2 ) {
|
||||
sameSense1 = fp->IsSameSense();
|
||||
sameSense2 = fm->IsSameSense();
|
||||
dirMatch = ts_positive;
|
||||
}
|
||||
else if ( &sp == &surface2 && &sm == &surface1 ) {
|
||||
sameSense1 = fm->IsSameSense();
|
||||
sameSense2 = fp->IsSameSense();
|
||||
dirMatch = ts_negative;
|
||||
}
|
||||
else {
|
||||
intCurve = c3d_null; // parameter error
|
||||
}
|
||||
}
|
||||
else if ( (fp != c3d_null) || (fm != c3d_null) ) {
|
||||
const MbFace * f = (fp != c3d_null) ? fp : fm;
|
||||
const MbSurface & s = f->GetSurface().GetSurface();
|
||||
|
||||
if ( &s == &surface1 && &s == &surface2 ) {
|
||||
sameSense1 = f->IsSameSense();
|
||||
sameSense2 = sameSense1;
|
||||
dirMatch = ts_positive;
|
||||
}
|
||||
else if ( &s == &surface1 ) {
|
||||
const MbCurve & pCurve1 = intCurve->GetCurveOneCurve();
|
||||
intCurve = new MbSurfaceIntersectionCurve( surface1, pCurve1, surface1, pCurve1, cbt_Boundary, true, true );
|
||||
sameSense1 = f->IsSameSense();
|
||||
sameSense2 = sameSense1;
|
||||
dirMatch = ts_positive;
|
||||
}
|
||||
else if ( &s == &surface2 ) {
|
||||
const MbCurve & pCurve2 = intCurve->GetCurveOneCurve();
|
||||
intCurve = new MbSurfaceIntersectionCurve( surface2, pCurve2, surface2, pCurve2, cbt_Boundary, true, true );
|
||||
sameSense1 = f->IsSameSense();
|
||||
sameSense2 = sameSense1;
|
||||
dirMatch = ts_negative;
|
||||
}
|
||||
else {
|
||||
intCurve = c3d_null; // parameter error
|
||||
}
|
||||
}
|
||||
Init( edge1, face1, edge2, face2, accuracy );
|
||||
}
|
||||
public:
|
||||
/// \ru Есть ли кривая пересечения? \en Does an intersection curve exist?
|
||||
bool IsCurve() const { return (intCurve != c3d_null); }
|
||||
bool IsCurve() const { return (intCurve != nullptr); }
|
||||
/// \ru Получить кривую пересечения? \en Get intersection curve.
|
||||
c3d::ConstIntersectionCurveSPtr GetCurve() const { return intCurve; }
|
||||
/// \ru Признак совпадения нормали первой поверхности и грани. \en The flag of the coincidence of the normal of the first surface and the corresponding face .
|
||||
@@ -502,6 +482,14 @@ public:
|
||||
/// \ru Получить ссылку на именователь. \en Get names maker reference.
|
||||
const MbSNameMaker & GetNameMaker() const { return snMaker; }
|
||||
|
||||
private:
|
||||
/// \ru Инциализация по ребру. \en Initialize by edge.
|
||||
bool Init( const MbCurveEdge & );
|
||||
/// \ru Инциализация по двум ребрам. \en Initialize by edges pair.
|
||||
bool Init( const MbCurveEdge & edge1, const MbFace & face1,
|
||||
const MbCurveEdge & edge2, const MbFace & face2,
|
||||
double edgesMatchingAccuracy );
|
||||
|
||||
OBVIOUS_PRIVATE_COPY( MbNormalsMinMaxAnglesParams)
|
||||
};
|
||||
|
||||
@@ -524,12 +512,12 @@ public:
|
||||
double a; ///< \ru Угол между нормалями поверхностей в кривой пересечения. \en Angle between surfaces normals in the intersection curve.
|
||||
ThreeStates isMin; ///< \ru Локальный минимум, максимум или неопределенное состояние. \en Local minimum, maximum or undefined state.
|
||||
public:
|
||||
Data() : t( UNDEFINED_DBL ), f( UNDEFINED_DBL ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double f0 ) : t( UNDEFINED_DBL ), f( f0 ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0 ) : t( t0 ), f( f0 ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0, double a0 ) : t( t0 ), f( f0 ), a( a0 ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0, double a0, ThreeStates s ) : t( t0 ), f( f0 ), a( a0 ), isMin( s ) {}
|
||||
Data( const Data & d ) : t( d.t ), f( d.f ), a( d.a ), isMin( d.isMin ) {}
|
||||
Data() : t( UNDEFINED_DBL ), f( UNDEFINED_DBL ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double f0 ) : t( UNDEFINED_DBL ), f( f0 ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0 ) : t( t0 ), f( f0 ), a( UNDEFINED_DBL ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0, double a0 ) : t( t0 ), f( f0 ), a( a0 ), isMin( ts_neutral ) {}
|
||||
Data( double t0, double f0, double a0, ThreeStates s ) : t( t0 ), f( f0 ), a( a0 ), isMin( s ) {}
|
||||
Data( const Data & d ) : t( d.t ), f( d.f ), a( d.a ), isMin( d.isMin ) {}
|
||||
public:
|
||||
const Data & operator = ( const Data & d ) { t = d.t; f = d.f; a = d.a; isMin = d.isMin; return *this; }
|
||||
public:
|
||||
@@ -542,13 +530,16 @@ public:
|
||||
Data minParamValue; ///< \ru Глобальный минимальный угол. \en Global minimum angle.
|
||||
Data maxParamValue; ///< \ru Глобальный максимальный угол. \en Global maximum angle.
|
||||
MbResultType resType; ///< \ru Код результата операции. \en Operation result code.
|
||||
|
||||
public:
|
||||
/// \ru Конструктор. \en Constructor.
|
||||
MbNormalsMinMaxAnglesResults() : allParamValues(), minParamValues(), maxParamValues(), minParamValue( MB_MAXDOUBLE ), maxParamValue( -MB_MAXDOUBLE ) {}
|
||||
public:
|
||||
/// \ru Определен ли глобальный минимум. \en Whether a global minimum value is defined.
|
||||
bool IsDefinedMinValue() const;
|
||||
/// \ru Определен ли глобальный максимум. \en Whether a global maximum value is defined.
|
||||
bool IsDefinedMaxValue() const;
|
||||
/// \ru Очистка данных. \en Data cleaning.
|
||||
void Clear() { allParamValues.clear(); minParamValues.clear(); maxParamValues.clear(); minParamValue.Reset(); maxParamValue.Reset(); }
|
||||
void Clear() { allParamValues.clear(); minParamValues.clear(); maxParamValues.clear(); minParamValue.Reset(); maxParamValue.Reset(); }
|
||||
|
||||
OBVIOUS_PRIVATE_COPY( MbNormalsMinMaxAnglesResults )
|
||||
};
|
||||
|
||||
@@ -341,8 +341,8 @@ public:
|
||||
To fit surface use corresponding methods SegmentMesh or FitSurfaceToSegment. \n \~
|
||||
\param[in] idxSegment - \ru Индекс сегмента полигональной сетки.
|
||||
\en Index of a mesh segment. \~
|
||||
\return \ru Возвращает указатель на поверхность для сегмента, если поверхность определена, иначе - c3d_null.
|
||||
\en Returns pointer to segment surface if it exists, else - c3d_null. \~
|
||||
\return \ru Возвращает указатель на поверхность для сегмента, если поверхность определена, иначе - nullptr.
|
||||
\en Returns pointer to segment surface if it exists, else - nullptr. \~
|
||||
\ingroup Polygonal_Objects
|
||||
*/
|
||||
virtual const MbSurface * GetSegmentSurface( size_t idxSegment ) const = 0;
|
||||
|
||||
@@ -443,7 +443,7 @@ MATH_FUNC (MbCurve *) DuplicateCurve( const MbCurve & curve, VERSION version = M
|
||||
DEPRECATE_DECLARE
|
||||
MATH_FUNC (MbContour *) DuplicateContour( const MbContour & cntr,
|
||||
bool modifySegments,
|
||||
MbSNameMaker * names = c3d_null );
|
||||
MbSNameMaker * names = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -469,7 +469,7 @@ MATH_FUNC (MbContour *) DuplicateContour( const MbContour & cntr,
|
||||
MATH_FUNC (MbContour *) DuplicateContour( const MbContour & cntr,
|
||||
bool modifySegments,
|
||||
VERSION version,
|
||||
MbSNameMaker * names = c3d_null );
|
||||
MbSNameMaker * names = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -593,13 +593,15 @@ MATH_FUNC (bool) CurveTrim( MbCurve & curve,
|
||||
Если toEnd == false, то добавить в начало. \n
|
||||
\en Add a curve to a composite curve (a contour) 'contour'. \n
|
||||
If toEnd == true, the curve is to be added to the end. \n
|
||||
If toEnd == true, the curve is to be added to the beginning. \n \~
|
||||
If toEnd == false, the curve is to be added to the beginning. \n \~
|
||||
\param[in] curve - \ru Добавляемая кривая
|
||||
\en A curve to be added. \~
|
||||
\param[in,out] contour - \ru Модифицируемый контур.
|
||||
\en A contour to be modified. \~
|
||||
\param[in] toEnd - \ru Флаг места добавления кривой.
|
||||
\en The flag determines the place of the curve in the contour. \~
|
||||
\param[in] epsilon - \ru Близость точек стыка при добавлении кривой.
|
||||
\en The Proximity of the junction points. \~
|
||||
\return \ru Возвращает код результата операции.
|
||||
\en Returns operation result code. \~
|
||||
\ingroup Curve_Modeling
|
||||
@@ -607,7 +609,25 @@ MATH_FUNC (bool) CurveTrim( MbCurve & curve,
|
||||
//---
|
||||
MATH_FUNC (MbResultType) AddCurveToContour( MbCurve & curve,
|
||||
MbContour & contour,
|
||||
bool toEnd );
|
||||
bool toEnd,
|
||||
double epsilon = METRIC_REGION );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать контур из кривых.
|
||||
\en Create a contour by curves. \~
|
||||
\details \ru В контур будут добавлены кривые curves, возможно инвертирование направления некоторых кривых. Неиспользованные кривые будут удалены. \n
|
||||
\en Curves will be added to the contour, it is possible to invert the direction of some curves. Unused curves will be deleted. \n
|
||||
\param[in] curve - \ru Кривые для построения контура.
|
||||
\en Curves of the contour. \~
|
||||
\param[in] accuracy - \ru Максимальное расстояние точек сегментов в стыке.
|
||||
\en The maximum distance of segment points at the junction. \~
|
||||
\return \ru Возвращает контур или nullptr.
|
||||
\en Returns contour or nullptr. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
//---
|
||||
MATH_FUNC (MbContour *) CreateContour( std::vector<MbCurve *> & curves, double accuracy );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -802,7 +822,7 @@ MATH_FUNC (bool) IsLikeStraightLine( const MbCurve & curve, double eps );
|
||||
DEPRECATE_DECLARE
|
||||
MATH_FUNC( MbContour * ) DeleteDegenerateSegments( const MbContour & cntr,
|
||||
bool modifySegments,
|
||||
MbSNameMaker * names = c3d_null );
|
||||
MbSNameMaker * names = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Удалить вырожденные сегменты из контура.
|
||||
@@ -825,7 +845,7 @@ MATH_FUNC( MbContour * ) DeleteDegenerateSegments( const MbContour & cntr,
|
||||
MATH_FUNC( MbContour * ) DeleteDegenerateSegments( const MbContour & cntr,
|
||||
bool modifySegments,
|
||||
VERSION verison,
|
||||
MbSNameMaker * names = c3d_null );
|
||||
MbSNameMaker * names = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -35,6 +35,8 @@ class MATH_CLASS MbWireFrame;
|
||||
class MATH_CLASS MbItem;
|
||||
class MATH_CLASS MbName;
|
||||
class MATH_CLASS MbSweptData;
|
||||
class MATH_CLASS MbCurveExtensionParameters;
|
||||
class MATH_CLASS MbSNameMaker;
|
||||
struct MATH_CLASS EvolutionValues;
|
||||
|
||||
|
||||
@@ -283,11 +285,11 @@ MATH_FUNC (MbResultType) SpiralCurve( const MbPlacement3D & place,
|
||||
\details \ru Создать спираль. \n
|
||||
Если spiralAxis == true, то lawCurve - определяет плоскую ось спирали. \n
|
||||
Если spiralAxis == false, то lawCurve - определяет закон изменения радиуса спирали. \n
|
||||
Если lawCurve == c3d_null, то строится коническая спираль с углом конусности angle. \n
|
||||
Если lawCurve == nullptr, то строится коническая спираль с углом конусности angle. \n
|
||||
\en Create a spiral. \n
|
||||
If 'spiralAxis' == true, 'lawCurve' determines the axis of a spiral. \n
|
||||
If spiralAxis == false, then 'lawCurve' - determines a radius law. \n
|
||||
If lawCurve == c3d_null, a conical spiral is created with the specified taper angle. \n \~
|
||||
If lawCurve == nullptr, a conical spiral is created with the specified taper angle. \n \~
|
||||
\param[in] point0 - \ru Начало локальной системы координат (ЛСК).
|
||||
\en The origin of local coordinate system (LCS). \~
|
||||
\param[in] point1 - \ru Точка на оси Z ЛСК.
|
||||
@@ -644,7 +646,7 @@ MATH_FUNC (MbResultType) CreatePolyArcCurve3D( const MbCurve3D & curve,
|
||||
MATH_FUNC (bool) GetSpaceCurve( const MbItem & item,
|
||||
bool keepPlacement,
|
||||
SPtr<MbCurve3D> & curve0,
|
||||
std::vector< SPtr<MbCurve3D> > * curves = c3d_null );
|
||||
std::vector< SPtr<MbCurve3D> > * curves = nullptr );
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
@@ -666,9 +668,9 @@ MATH_FUNC (bool) GetSpaceCurve( const MbItem & item,
|
||||
\param[in] deviationAngle - \ru Параметру точности.
|
||||
\en The parameter of accuracy. \~
|
||||
\return \ru Возвращает указатель на построенную кривую с нулевум счетчиком ссылок \n
|
||||
или c3d_null, если не удалось построить развертку для заданных параметров.
|
||||
или nullptr, если не удалось построить развертку для заданных параметров.
|
||||
\en The pointer to the constructed curve with zero counter of references\n
|
||||
return c3d_null, if unwrap curve can't be construvted for this parameters
|
||||
return nullptr, if unwrap curve can't be construvted for this parameters
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -1362,4 +1364,30 @@ MATH_FUNC ( MbCurve3D * ) SetProportionalParametrization( MbCurve3D * curve,
|
||||
double tMin, double tMax);
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Продлить заданную кривую.
|
||||
\en Extend the given curve. \~
|
||||
\details \ru Продлить заданную кривую в соответствии с заданными параметрами. \n
|
||||
\en Extend the given curve according to the given parameters. \~ \n
|
||||
\param[in] sourceCurve - \ru Исходная (удлиняемая) кривая.
|
||||
\en Source (extended) curve. \~
|
||||
\param[in] parameters - \ru Параметры продления.
|
||||
\en Parameters of extension. \~
|
||||
\param[in] snMaker - \ru Именователь построенного ребра.
|
||||
\en An object defining the edges names. \~
|
||||
\param[out] resFrame - \ru Результирующая кривая внутри каркаса.
|
||||
\en Result curve in the wire-frame. \~
|
||||
\return \ru Возвращает код результата операции. В случае успеха всегда вернется ненулевая кривая (возможно, она будет совпадать с исходной кривой).
|
||||
\en Returns the code of the operation result. In case of success, the result curve cannot be nullptr (it will be possibly the same as the source one).
|
||||
\ingroup Curve3D_Modeling
|
||||
\warning \ru В разработке.
|
||||
\en Under development. \~
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC( MbResultType ) ExtendCurve( const MbCurve3D & sourceCurve,
|
||||
const MbCurveExtensionParameters & parameters,
|
||||
const MbSNameMaker & snMaker,
|
||||
MbWireFrame *& resFrame );
|
||||
|
||||
|
||||
#endif // __ACTION_CURVE3D_H
|
||||
|
||||
@@ -61,8 +61,8 @@ MATH_FUNC (void) CalculatePolygon( const MbCurve & curve,
|
||||
локальной системы координат.
|
||||
\en Create a polygonal object for two-dimensional object in the XOY-plane
|
||||
of the local coordinate system. \~
|
||||
\param[in] obj - \ru Двумерный объект (если c3d_null, то объект не создаётся).
|
||||
\en Two-dimensional object (if c3d_null, object isn't created). \~
|
||||
\param[in] obj - \ru Двумерный объект (если nullptr, то объект не создаётся).
|
||||
\en Two-dimensional object (if nullptr, object isn't created). \~
|
||||
\param[in] plane - \ru Локальная система координат.
|
||||
\en A local coordinate system. \~
|
||||
\param[in] sag - \ru Максимальное отклонение полигонального объекта от оригинала по прогибу.
|
||||
@@ -417,10 +417,31 @@ MATH_FUNC( MbResultType ) MeshMeshIntersection( const MbMesh & mesh1,
|
||||
const MbMesh & mesh2,
|
||||
std::vector< SPtr<MbCurve3D> > & polylines );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать полигональный объект булевой операции.
|
||||
\en Create a polygon object of Boolean operation. \~
|
||||
\details \ru Построить полигональный объект как результат булевой операции над полигональными объектами.
|
||||
\en Create a polygon object as a result of Boolean operation on the given polygon objects.
|
||||
\param[in] mesh1 - \ru Первый полигональный объект.
|
||||
\en The first polygon object. \~
|
||||
\param[in] mesh1 - \ru Второй полигональный объект.
|
||||
\en The second polygon object. \~
|
||||
\param[in] operation - \ru Тип булевой операции.
|
||||
\en A Boolean operation type. \~
|
||||
\param[out] newMesh - \ru Построенный полигональный объект.
|
||||
\en Constructed polygon object. \~
|
||||
\result \ru Возвращает код результата операции.
|
||||
\en Returns the operation result code. \~
|
||||
\ingroup Model_Creators
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC( MbResultType ) CreateBoolean( const MbMesh & mesh1, const MbMesh & mesh2,
|
||||
OperationType operation,
|
||||
SPtr<MbMesh> & newMesh );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Построить триангуляцию по облаку точек на основе алгоритма поворотного шара.
|
||||
\en Build a triangulation by point cloud with Ball Pivoting algorithm. \~
|
||||
\en Build a triangulation by point cloud with Ball Pivoting algorithm. \~
|
||||
\param[in] collection - \ru Коллекция трехмерных элементов.
|
||||
\en Collection of 3d elements. \~
|
||||
\param[in] radius - \ru Радиус поворотного шара, если radius==0 будет предпринята попытка его автоопределения.
|
||||
@@ -442,4 +463,19 @@ MATH_FUNC (MbResultType) CalculateBallPivotingGrid( const MbCollection & collect
|
||||
double angle,
|
||||
MbMesh *& result );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Исправить несовместную ориентацию полигонов сетки по отношению друг к другу.
|
||||
\en Repair inconsistent orientation of mesh polygons with respect to each other. \~
|
||||
\param[out] result - \ru Полигональный объект.
|
||||
\en The polygonal object. \~
|
||||
\return \ru Возвращает код результата операции.
|
||||
\en Returns operation result code. \~
|
||||
\ingroup Polygonal_Objects
|
||||
\warning \ru В разработке.
|
||||
\en Under development. \~
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) RepairInconsistentMesh( MbMesh & mesh );
|
||||
|
||||
#endif // __ACTION_MESH_H
|
||||
|
||||
@@ -184,7 +184,7 @@ MATH_FUNC (MbResultType) OffsetPhantom( const MbSolid & solid,
|
||||
const SweptValues & params,
|
||||
const MbSNameMaker & operNames,
|
||||
MbFaceShell *& result,
|
||||
size_t * hpShellFaceInd = c3d_null ); // \ru Номер грани в исходной оболочки для построения хот-точки); \en The face number in the initial shell for a hot-point creation);
|
||||
size_t * hpShellFaceInd = nullptr ); // \ru Номер грани в исходной оболочки для построения хот-точки); \en The face number in the initial shell for a hot-point creation);
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -261,7 +261,7 @@ MATH_FUNC (MbResultType) SmoothPositionData( const MbSolid & sol
|
||||
const SmoothValues & params,
|
||||
RPArray<MbPositionData> & result,
|
||||
double edgeParam = 0.5,
|
||||
const MbCurveEdge * dimensionEdge = c3d_null );
|
||||
const MbCurveEdge * dimensionEdge = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -293,7 +293,7 @@ MATH_FUNC (MbResultType) SmoothPositionData( const MbSolid & sol
|
||||
const SmoothValues & params,
|
||||
RPArray<MbPositionData> & result,
|
||||
double edgeParam = 0.5,
|
||||
const MbCurveEdge * dimensionEdge = c3d_null );
|
||||
const MbCurveEdge * dimensionEdge = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -39,8 +39,8 @@ class MATH_CLASS MbFaceShell;
|
||||
\en Number of elements in the array. \~
|
||||
\param[out] res - \ru Результат операции.
|
||||
\en The operation result. \~
|
||||
\return \ru Возвращает массив элементов, если он создан, или c3d_null в противном случае.
|
||||
\en Returns an array of elements if it has been created, otherwise returns c3d_null. \~
|
||||
\return \ru Возвращает массив элементов, если он создан, или nullptr в противном случае.
|
||||
\en Returns an array of elements if it has been created, otherwise returns nullptr. \~
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
// ---
|
||||
@@ -48,11 +48,11 @@ template <class Type>
|
||||
inline SArray<Type> * CreateArray( size_t cnt, MbResultType & res )
|
||||
{
|
||||
SArray<Type> * arr = new SArray<Type> ( cnt, 1 );
|
||||
if ( arr != c3d_null && arr->GetAddr() == c3d_null ) {
|
||||
if ( arr != nullptr && arr->GetAddr() == nullptr ) {
|
||||
delete arr;
|
||||
arr = c3d_null;
|
||||
arr = nullptr;
|
||||
}
|
||||
if ( arr == c3d_null )
|
||||
if ( arr == nullptr )
|
||||
res = rt_TooManyPoints;
|
||||
|
||||
return arr;
|
||||
@@ -79,7 +79,7 @@ template <class Type>
|
||||
inline bool ReserveArray( SArray<Type> & arr, size_t n, MbResultType & res )
|
||||
{
|
||||
arr.Reserve( n );
|
||||
if ( arr.GetAddr() == c3d_null ) {
|
||||
if ( arr.GetAddr() == nullptr ) {
|
||||
res = rt_TooManyPoints;
|
||||
return false;
|
||||
}
|
||||
@@ -107,7 +107,7 @@ template <class Type>
|
||||
inline bool AddItem( SArray<Type> & arr, const Type & item, MbResultType & res )
|
||||
{
|
||||
arr.Add( item );
|
||||
if ( arr.GetAddr() == c3d_null ) {
|
||||
if ( arr.GetAddr() == nullptr ) {
|
||||
res = rt_TooManyPoints;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -640,7 +640,7 @@ MATH_FUNC (MbResultType) UnbendSheetSolid( MbSolid & sol
|
||||
const MbCartPoint & fixedPoint,
|
||||
const MbSNameMaker & nameMaker,
|
||||
MbSolid *& result,
|
||||
RPArray<MbContour3D> * ribContours = c3d_null );
|
||||
RPArray<MbContour3D> * ribContours = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -1033,6 +1033,30 @@ MATH_FUNC(MbResultType) CreateStampWithToolSolidParts( MbSolid &
|
||||
MbSolid * & partsToSubtract );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Нормализовать кромки выреза листового тела.
|
||||
\en Normalize cut sides of the sheet solid. \~
|
||||
\details \ru Нормализовать кромки выреза листового тела. \n
|
||||
\en Normalize cut sides of the sheet solid. \n \~
|
||||
\param[in] solid - \ru Исходное тело.
|
||||
\en The source solid. \~
|
||||
\param[in] sameShell - \ru Флаг удаления оболочки исходного тела.
|
||||
\en Whether to delete the shell of the source solid. \~
|
||||
\param[in] nameMaker - \ru Именователь.
|
||||
\en An object for naming the new objects. \~
|
||||
\param[out] result - \ru Результирующее тело.
|
||||
\en The resultant solid. \~
|
||||
\result \ru - Код результата операции.
|
||||
\en - The operation result code. \~
|
||||
\ingroup Sheet_Metal_Modeling
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC(MbResultType) NormalizeCutSides ( MbSolid & solid,
|
||||
MbeCopyMode sameShell,
|
||||
const MbSNameMaker & nameMaker,
|
||||
MbSolid *& result );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Штамповка.
|
||||
\en Stamping. \~
|
||||
|
||||
+20
-20
@@ -180,7 +180,7 @@ MATH_FUNC (MbResultType) MeshSolid( const MbMesh & mesh,
|
||||
const GridsToShellValues & params,
|
||||
const MbSNameMaker & names,
|
||||
MbSolid *& result,
|
||||
IProgressIndicator * prog = c3d_null );
|
||||
IProgressIndicator * prog = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -202,7 +202,7 @@ MATH_FUNC (MbResultType) MeshSolid( const MbMesh & mesh,
|
||||
MATH_FUNC (MbResultType) GridSolid( const MbGrid & grid,
|
||||
const MbSNameMaker & names,
|
||||
MbSolid *& result,
|
||||
IProgressIndicator * prog = c3d_null );
|
||||
IProgressIndicator * prog = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -227,7 +227,7 @@ MATH_FUNC (MbResultType) GridSolid( const MbGrid & grid,
|
||||
const GridsToShellValues & params,
|
||||
const MbSNameMaker & names,
|
||||
MbSolid *& result,
|
||||
IProgressIndicator * prog = c3d_null );
|
||||
IProgressIndicator * prog = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -249,7 +249,7 @@ MATH_FUNC (MbResultType) GridSolid( const MbGrid & grid,
|
||||
MATH_FUNC (MbResultType) CollectionSolid( const MbCollection & grid,
|
||||
const MbSNameMaker & names,
|
||||
MbSolid *& result,
|
||||
IProgressIndicator * progBar = c3d_null );
|
||||
IProgressIndicator * progBar = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -636,8 +636,8 @@ MATH_FUNC (MbResultType) EvolutionSolid( const MbSweptData & sweptData
|
||||
\en An array of generating contours coordinate systems. \~
|
||||
\param[in] c - \ru Множество образующих контуров.
|
||||
\en An array of generating contours. \~
|
||||
\param[in] spine - \ru Направляющая кривая (может быть c3d_null).
|
||||
\en A guide curve (can be c3d_null). \~
|
||||
\param[in] spine - \ru Направляющая кривая (может быть nullptr).
|
||||
\en A guide curve (can be nullptr). \~
|
||||
\param[in] params - \ru Параметры операции.
|
||||
\en The operation parameters. \~
|
||||
\param[in] ps - \ru Множество точек на образующих контурах, задающий их начальные точки.
|
||||
@@ -672,8 +672,8 @@ MATH_FUNC (MbResultType) LoftedSolid( SArray<MbPlacement3D> & pl,
|
||||
\en An array of generating contours coordinate systems. \~
|
||||
\param[in] c - \ru Множество образующих контуров.
|
||||
\en An array of generating contours. \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть c3d_null).
|
||||
\en A guide curve (can be c3d_null). \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть nullptr).
|
||||
\en A guide curve (can be nullptr). \~
|
||||
\param[in] params - \ru Параметры операции.
|
||||
\en The operation parameters. \~
|
||||
\param[in] guideCurves - \ru Множество направляющих кривых, задающих траектории соответствующих точек контуров.
|
||||
@@ -693,7 +693,7 @@ MATH_FUNC (MbResultType) LoftedSolid( SArray<MbPlacement3D> & pl,
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) LoftedSolid( SArray<MbPlacement3D> & pl,
|
||||
RPArray<MbContour> & c,
|
||||
const MbCurve3D * spine, // осевая линия может быть c3d_null
|
||||
const MbCurve3D * spine, // осевая линия может быть nullptr
|
||||
const LoftedValues & params,
|
||||
RPArray<MbCurve3D> * guideCurves,
|
||||
SArray<MbCartPoint3D> * ps,
|
||||
@@ -711,8 +711,8 @@ MATH_FUNC (MbResultType) LoftedSolid( SArray<MbPlacement3D> & pl,
|
||||
\en An array of surfaces of generating contours. \~
|
||||
\param[in] c - \ru Множество образующих контуров.
|
||||
\en An array of generating contours. \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть c3d_null).
|
||||
\en A guide curve (can be c3d_null). \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть nullptr).
|
||||
\en A guide curve (can be nullptr). \~
|
||||
\param[in] params - \ru Параметры операции.
|
||||
\en The operation parameters. \~
|
||||
\param[in] guideCurves - \ru Множество направляющих кривых, задающих траектории соответствующих точек контуров.
|
||||
@@ -732,7 +732,7 @@ MATH_FUNC (MbResultType) LoftedSolid( SArray<MbPlacement3D> & pl,
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) LoftedSolid( RPArray<MbSurface> & surfs,
|
||||
RPArray<MbContour> & c,
|
||||
const MbCurve3D * spine, // осевая линия может быть c3d_null
|
||||
const MbCurve3D * spine, // осевая линия может быть nullptr
|
||||
const LoftedValues & params,
|
||||
RPArray<MbCurve3D> * guideCurves,
|
||||
SArray<MbCartPoint3D> * ps,
|
||||
@@ -967,8 +967,8 @@ MATH_FUNC(MbResultType) EvolutionResult( MbSolid & solid,
|
||||
\en An array of generating contours coordinate systems. \~
|
||||
\param[in] c - \ru Множество образующих контуров.
|
||||
\en An array of generating contours. \~
|
||||
\param[in] spine - \ru Направляющая кривая (может быть c3d_null).
|
||||
\en A guide curve (can be c3d_null). \~
|
||||
\param[in] spine - \ru Направляющая кривая (может быть nullptr).
|
||||
\en A guide curve (can be nullptr). \~
|
||||
\param[in] params - \ru Параметры операции.
|
||||
\en The operation parameters. \~
|
||||
\param[in] oType - \ru Тип булевой операции.
|
||||
@@ -1020,8 +1020,8 @@ MATH_FUNC(MbResultType) LoftedResult( MbSolid & solid,
|
||||
\en An array of generating contours surfaces. \~
|
||||
\param[in] c - \ru Множество образующих контуров.
|
||||
\en An array of generating contours. \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть c3d_null).
|
||||
\en A guide curve (can be c3d_null). \~
|
||||
\param[in] spine - \ru Осевая кривая (может быть nullptr).
|
||||
\en A guide curve (can be nullptr). \~
|
||||
\param[in] params - \ru Параметры операции.
|
||||
\en The operation parameters. \~
|
||||
\param[in] oType - \ru Тип булевой операции.
|
||||
@@ -1989,7 +1989,7 @@ MATH_FUNC (MbResultType) UnionResult( MbSolid * solid,
|
||||
const MbSNameMaker & names,
|
||||
bool isArray,
|
||||
MbSolid *& result,
|
||||
RPArray<MbSolid> * notGluedSolids = c3d_null );
|
||||
RPArray<MbSolid> * notGluedSolids = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -2032,7 +2032,7 @@ MATH_FUNC (MbResultType) UnionSolid( RPArray<MbSolid> & solids,
|
||||
const MbSNameMaker & names,
|
||||
bool isArray,
|
||||
MbSolid *& result,
|
||||
RPArray<MbSolid> * notGluedSolids = c3d_null );
|
||||
RPArray<MbSolid> * notGluedSolids = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -2392,8 +2392,8 @@ MATH_FUNC (MbResultType) ThinSolid( const MbSurface & surface,
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать отверстие, карман, фигурный паз в теле.
|
||||
\en Create a hole, a pocket, a groove in the solid. \~
|
||||
\details \ru Cоздать отверстие, карман, фигурный паз в теле или создать cверло, бобышку, если solid==c3d_null. \n
|
||||
\en Create a hole, a pocket, a groove in the solid or create a drill, a boss if 'solid' == c3d_null. \n \~
|
||||
\details \ru Cоздать отверстие, карман, фигурный паз в теле или создать cверло, бобышку, если solid==nullptr. \n
|
||||
\en Create a hole, a pocket, a groove in the solid or create a drill, a boss if 'solid' == nullptr. \n \~
|
||||
\param[in] solid - \ru Исходное тело.
|
||||
\en The source solid. \~
|
||||
\param[in] sameShell - \ru Режим копирования тела.
|
||||
|
||||
@@ -694,28 +694,26 @@ MATH_FUNC (MbResultType) TriBezierSurface( ptrdiff_t k,
|
||||
\en Create a triangular B-spline surface. \~
|
||||
\details \ru Создать треугольную В-сплайн поверхность по 3 точкам. \n
|
||||
\en Create a triangular B-spline surface from three points. \n \~
|
||||
\param[in] p0 - \ru Первая точка.
|
||||
\en The first point. \~
|
||||
\param[in] p1 - \ru Вторая точка.
|
||||
\en The second point. \~
|
||||
\param[in] p2 - \ru Третья точка.
|
||||
\en The third point. \~
|
||||
\param[in] d - \ru Порядок поверхности.
|
||||
\en The surface order. \~
|
||||
\param[out] resSurface - \ru Треугольная В-сплайн поверхность.
|
||||
\en The triangular B-spline surface. \~
|
||||
\param[in] surface - \ru Исходная поверхность.
|
||||
\en The initial surface. \~
|
||||
\param[in] degree - \ru Порядок поверхности.
|
||||
\en The surface order. \~
|
||||
\param[in] uCount - \ru Число элементов вдоль первого направления.
|
||||
\en The elements count along first direction. \~
|
||||
\param[in] vCount - \ru Число элементов вдоль второго направления.
|
||||
\en The elements count along second direction. \~
|
||||
\param[out] result - \ru Симплексная поверхность.
|
||||
\en The simplex surface. \~
|
||||
\result \ru Возвращает код результата операции.
|
||||
\en Returns operation result code. \~
|
||||
\ingroup Surface_Modeling
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) TriSplineSurface( const MbCartPoint3D & p0,
|
||||
const MbCartPoint3D & p1,
|
||||
const MbCartPoint3D & p2,
|
||||
const MbCartPoint3D & p3,
|
||||
ptrdiff_t d,
|
||||
ptrdiff_t count,
|
||||
MbSurface *& resSurface );
|
||||
MATH_FUNC (MbResultType) SimplexSurface( const MbSurface & surface,
|
||||
size_t degree,
|
||||
size_t uCount,
|
||||
size_t vCount,
|
||||
MbSurface *& result );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -723,10 +721,10 @@ MATH_FUNC (MbResultType) TriSplineSurface( const MbCartPoint3D & p0,
|
||||
\en Create a characteristic polyline of a spline surface. \~
|
||||
\details \ru Построить характеристическую ломаную сплайновой поверхности. \n
|
||||
Функция работает с поверхностями типа st_SplineSurface, st_HermitSurface,
|
||||
st_TriBezierSurface, st_TriSplineSurface. \n
|
||||
st_TriBezierSurface, st_SimplexSurface. \n
|
||||
\en Create a characteristic polyline of a spline surface. \n
|
||||
The function accepts the surfaces of types st_SplineSurface, st_HermitSurface,
|
||||
st_TriBezierSurface, st_TriSplineSurface. \n \~
|
||||
st_TriBezierSurface, st_SimplexSurface. \n \~
|
||||
\param[in] surf - \ru Поверхность.
|
||||
\en The surface. \~
|
||||
\param[out] segments - \ru Сегменты характеристической ломаной.
|
||||
@@ -798,8 +796,8 @@ MATH_FUNC (MbResultType) MiddlePlaces( const MbCurve3D & curve1
|
||||
\en The first guide curve. \~
|
||||
\param[in] g2 - \ru Вторая направляющая кривая (g1==g2 совпадает с первой при cs_Round).
|
||||
\en The second guide curve (g1==g2 the same first guide for st_Round). \~
|
||||
\param[in] c0 - \ru Дополнительная направляющая кривая (может быть c3d_null).
|
||||
\en The additional guide curve (may be c3d_null). \~
|
||||
\param[in] c0 - \ru Дополнительная направляющая кривая (может быть nullptr).
|
||||
\en The additional guide curve (may be nullptr). \~
|
||||
\param[in] form - \ru Форма сечения поверхности (0, 1, 2, 3).
|
||||
\en The form of the surface section (0, 1, 2, 3). \~
|
||||
\param[in] sense - \ru Направление нормали поверхности направляющей кривой (для guide1==guide2).
|
||||
|
||||
@@ -224,8 +224,8 @@ MATH_FUNC (MbResultType) OffsetCurve( const MbCurve3D & curve,
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать проекцию кривой на поверхность.
|
||||
\en Create a curve projection onto the surface. \~
|
||||
\details \ru Создать проекцию кривой curve на поверхность surface (направление проецирования direction может быть c3d_null). \n
|
||||
\en Create the projection of a curve onto surface 'surface' (the projection direction 'direction' can be c3d_null). \n \~
|
||||
\details \ru Создать проекцию кривой curve на поверхность surface (направление проецирования direction может быть nullptr). \n
|
||||
\en Create the projection of a curve onto surface 'surface' (the projection direction 'direction' can be nullptr). \n \~
|
||||
\param[in] surface - \ru Поверхность для проецирования.
|
||||
\en The surface to project onto. \~
|
||||
\param[in] curve - \ru Проецируемая кривая.
|
||||
@@ -257,8 +257,8 @@ MATH_FUNC (MbResultType) CurveProjection( const MbSurface & surface,
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать проекцию кривой на поверхность.
|
||||
\en Create a curve projection onto the surface. \~
|
||||
\details \ru Создать проекцию кривой curve на поверхность surface (направление проецирования direction может быть c3d_null). \n
|
||||
\en Create the projection of a curve onto surface 'surface' (the projection direction 'direction' can be c3d_null). \n \~
|
||||
\details \ru Создать проекцию кривой curve на поверхность surface (направление проецирования direction может быть nullptr). \n
|
||||
\en Create the projection of a curve onto surface 'surface' (the projection direction 'direction' can be nullptr). \n \~
|
||||
\param[in] surface - \ru Поверхность для проецирования.
|
||||
\en The surface to project onto. \~
|
||||
\param[in] curve - \ru Проецируемая кривая.
|
||||
@@ -1159,7 +1159,7 @@ MATH_FUNC (MbResultType) ConnectingSpline( const MbCurve3D & curve1, double t1,
|
||||
что начало кривой сопряжения будет находится в точке с параметором t1,
|
||||
t1 и t2 - параметры кривых curve1 и curve2, в соответствующих точках которых начинается и заканчивается скругление. \n
|
||||
Параметр sense - прямое или обратное направление кривой скругления. \n
|
||||
Кривая filletCurve - это кривая сопряжения, дуга (когда surface == c3d_null) или кривая на поверхности цилиндра surface. \n
|
||||
Кривая filletCurve - это кривая сопряжения, дуга (когда surface == nullptr) или кривая на поверхности цилиндра surface. \n
|
||||
Поверхность surface - это цилиндрическая поверхность, на которой строится кривая сопряжения в общем случае.
|
||||
Для управления жизненным циклом поверхномти следует миспользовать методы ::AddRefItem(surface) и ::ReleaseItem(surface). \n
|
||||
\en Create a fillet curve for curves. \n
|
||||
@@ -1175,7 +1175,7 @@ MATH_FUNC (MbResultType) ConnectingSpline( const MbCurve3D & curve1, double t1,
|
||||
that the fillet curve start is at the point with parameter t1,
|
||||
t1 and t2 are parameters of curves 'curve1' and 'curve2' which correspond to the start point and the end point of the fillet. \n
|
||||
Parameter 'sense' determines forward or backward orientation of the fillet curve. \n
|
||||
Curve filletCurve is a fillet curve, an arc (when 'surface' == c3d_null) or a curve on a cylindric surface 'surface'. \n
|
||||
Curve filletCurve is a fillet curve, an arc (when 'surface' == nullptr) or a curve on a cylindric surface 'surface'. \n
|
||||
Surface 'surface' is a cylindric surface on which the fillet curve is constructed in general case.
|
||||
Use ::AddRefItem(surface) and ::ReleaseItem(surface) methods to manage the surface lifecycle. \n \~
|
||||
\param[in] curve1 - \ru Соединяемая кривая 1.
|
||||
@@ -1200,8 +1200,8 @@ MATH_FUNC (MbResultType) ConnectingSpline( const MbCurve3D & curve1, double t1,
|
||||
\en The fillet type. \~
|
||||
\param[in] names - \ru Именователь кривых каркаса.
|
||||
\en An object defining the frame curves names. \~
|
||||
\param[out] surface - \ru Поверхность, которая будет создана и на которой базируется соединительная кривая, (может быть возращён c3d_null).
|
||||
\en A surface on which the fillet curve is based on, it will be created by the method (can be c3d_null). \~
|
||||
\param[out] surface - \ru Поверхность, которая будет создана и на которой базируется соединительная кривая, (может быть возращён nullptr).
|
||||
\en A surface on which the fillet curve is based on, it will be created by the method (can be nullptr). \~
|
||||
\param[out] result - \ru Каркас с построенными кривыми.
|
||||
\en The frame with the constructed curves. \~
|
||||
\return \ru Возвращает код результата операции.
|
||||
@@ -1309,29 +1309,53 @@ MATH_FUNC (MbResultType) CreateContourFillets( const MbContour3D & contour,
|
||||
угол между координатными кривыми "X" на плоскости и "U" на поверхности был бы равен angle. \n
|
||||
\en Construction of curves that wrap the surface, so that the point xy of the plane would be coincides with the point uv of the surface
|
||||
and the angle between the coordinate curves "X" on the plane and "U" on the surface would be equal to angle. \n \~
|
||||
\param[in] curves - \ru Двумерные кривые на плоскости "XY" локальной системы коорданат.
|
||||
\en Two-dimensional curves on the "XY" plane of the local coordinate system. \~
|
||||
\param[in] place - \ru Локальная система коорданат (ЛСК).
|
||||
\en The local coordinate system (LCS). \~
|
||||
\param[in] xy - \ru Точка на плоскости "XY" локальной системы координат.
|
||||
\en A point on the "XY" plane of the local coordinate system. \~
|
||||
\param[in] surface - \ru Поверхность.
|
||||
\en The surface. \~
|
||||
\param[in] uv - \ru Точка на параметрической плоскости "UV" поверхности.
|
||||
\en A point on the parametric plane " UV " of the surface. \~
|
||||
\param[in] angle - \ru Угол поворота плоскости "XY" ЛСК и параметрической плоскости "UV" поверхности.
|
||||
\en The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. \~
|
||||
\param[in] sense - \ru Совпадение направлений оси "X" ЛСК и оси "U" поверхности.
|
||||
\en The coincidence of the directions of the "X" axis of the LSC and the "U" axis of the surface. \~
|
||||
\param[in] curves - \ru Двумерные кривые на плоскости "XY" локальной системы коорданат.
|
||||
\en Two-dimensional curves on the "XY" plane of the local coordinate system. \~
|
||||
\param[in] place - \ru Локальная система коорданат (ЛСК).
|
||||
\en The local coordinate system (LCS). \~
|
||||
\param[in] xy - \ru Точка на плоскости "XY" локальной системы координат.
|
||||
\en A point on the "XY" plane of the local coordinate system. \~
|
||||
\param[in] surface - \ru Поверхность.
|
||||
\en The surface. \~
|
||||
\param[in] uv - \ru Точка на параметрической плоскости "UV" поверхности.
|
||||
\en A point on the parametric plane " UV " of the surface. \~
|
||||
\param[in] angle - \ru Угол поворота плоскости "XY" ЛСК и параметрической плоскости "UV" поверхности.
|
||||
\en The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. \~
|
||||
\param[in] sense - \ru Совпадение направлений оси "X" ЛСК и оси "U" поверхности.
|
||||
\en The coincidence of the directions of the "X" axis of the LSC and the "U" axis of the surface. \~
|
||||
\param[in] keepLeng - \ru Соответствует ли длина кривых оригиналам на криволинейных поверхностях?.
|
||||
\en Does the curves length correspond to the originals on curved surfaces? \~
|
||||
\param[out] surfaceCurves - \ru Построенные кривые на поверхности.
|
||||
\en Constructed curves on the surface. \~
|
||||
\return \ru true - если построение выполнено успешно, false - в противном случае. \n
|
||||
\en true - if the build is successful, false - otherwise. \n
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) CurvesWrapping( const std::vector<const MbCurve *> & curves, const MbPlacement3D & place, const MbCartPoint & xy,
|
||||
const MbSurface & surface, const MbCartPoint & uv, double angle, bool sense,
|
||||
const MbSurface & surface, const MbCartPoint & uv, double angle, bool sense, bool keepLength,
|
||||
std::vector<MbSurfaceCurve *> & surfaceCurves );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создать кривую или контур на поверхности грани по заданным рёбрам.
|
||||
\en Construct a curve or contour on the surface of a face along the specified edges. \~
|
||||
\details \ru Строится кривая или контур на поверхности грани по копиям соответствующих двумерных кривых, лежащих в кривых пересечения рёбер. \n
|
||||
\en A curve or contour is constructed on the surface of a face based on copies of the corresponding two-dimensional curves lying in the intersection curves of edges. \n \~
|
||||
\param[in] face - \ru Общая для рёбер грань.
|
||||
\en The face common to the edges. \~
|
||||
\param[in] edges - \ru Рёбра.
|
||||
\en The edges. \~
|
||||
\param[in] accuracy - \ru Максимальное расстояние точек сегментов в стыке.
|
||||
\en The maximum distance of segment points at the junction. \~
|
||||
\return \ru Возвращает кривую или контур на поверхности (nullptr - в случае неудачи).
|
||||
\en Returns a curve or contour on a surface (nullptr - in case of failure). \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbCurve3D *) MakeCurveOnSurface( const MbFace & face,
|
||||
const std::vector<const MbCurveEdge *> & edges,
|
||||
double accuracy );
|
||||
|
||||
|
||||
#endif // __ACTION_SURFACE_CURVE_H
|
||||
|
||||
+20
-1
@@ -603,7 +603,7 @@ bool IsPlanar( const SpacePointsVector & pnts, MbPlacement3D * place, double mEp
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( isPlanar && place != c3d_null )
|
||||
if ( isPlanar && place != nullptr )
|
||||
place->Init( wrkPlace );
|
||||
}
|
||||
}
|
||||
@@ -759,6 +759,25 @@ template <class DoubleParamsVector>
|
||||
MATH_FUNC (void) SortArray( DoubleParamsVector & tt0, double eps, bool checkCoincidentParams );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Перебросить параметр на период.
|
||||
\en Re-roll the parameter for a period. \~
|
||||
\details \ru Перебросить параметр на период. Переброс происходит в сторону начального приближения.
|
||||
\en Re-roll the parameter for a period. The transfer occurs towards the initial approximation. \~
|
||||
\param[in] period - \ru Период.
|
||||
\en Period. \~
|
||||
\param[in] p0 - \ru Начальное приближение параметра.
|
||||
\en Initial approximation of the parameter. \~
|
||||
\param[in,out] p - \ru Уточняемый параметр.
|
||||
\en The parameter to refine. \~
|
||||
\return \ru Возвращает true, если переброс был выполнен, \n иначе - false.
|
||||
\en True if a parameter was changed, \n otherwise - false. \~
|
||||
|
||||
\ingroup Base_Algorithms
|
||||
*/ // ---
|
||||
MATH_FUNC( bool ) CorrectCiclicParameter( double period, double p0, double & p );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Уточнить параметр.
|
||||
\en Refine the parameter. \~
|
||||
|
||||
@@ -92,8 +92,8 @@ MATH_FUNC (MbeState) DeleteCurvePart( const MbCartPoint & p1,
|
||||
\en The point indicating the piece of a curve to be kept. \~
|
||||
\param[in, out] curve - \ru Изменяемая кривая.
|
||||
\en The curve to be modified. \~
|
||||
\param[in, out] part2 - \ru Всегда c3d_null.
|
||||
\en This value is always c3d_null. \~
|
||||
\param[in, out] part2 - \ru Всегда nullptr.
|
||||
\en This value is always nullptr. \~
|
||||
\return \ru Состояние кривой после ее модификации.
|
||||
\en The state of a curve after its modification. \~
|
||||
\warning \ru Для внутреннего использования.
|
||||
@@ -124,8 +124,8 @@ MATH_FUNC (MbeState) TrimmCurvePart( List<MbCurve> & curveList,
|
||||
\en The point indicating the piece of a closed curve to be kept \~
|
||||
\param[in, out] curve - \ru Изменяемая кривая.
|
||||
\en The curve to be modified. \~
|
||||
\param[in, out] part2 - \ru Всегда c3d_null.
|
||||
\en This value is always c3d_null. \~
|
||||
\param[in, out] part2 - \ru Всегда nullptr.
|
||||
\en This value is always nullptr. \~
|
||||
\return \ru Состояние кривой после ее модификации.
|
||||
\en The state of a curve after its modification. \~
|
||||
\warning \ru Для внутреннего использования.
|
||||
@@ -155,8 +155,8 @@ MATH_FUNC (MbeState) TrimmCurvePart( const MbCartPoint & p1,
|
||||
\en Boundary curve for justification. \~
|
||||
\param[in] pnt - \ru Точка для выбора нужной части кривой.
|
||||
\en The point for selecting the piece of a curve. \~
|
||||
\param[in, out] part2 - \ru Всегда c3d_null.
|
||||
\en This value is always c3d_null. \~
|
||||
\param[in, out] part2 - \ru Всегда nullptr.
|
||||
\en This value is always nullptr. \~
|
||||
\return \ru Состояние кривой после ее модификации.
|
||||
\en The state of a curve after modification. \~
|
||||
\warning \ru Для внутреннего использования.
|
||||
@@ -222,8 +222,8 @@ MATH_FUNC (MbeState) BreakByClosedCurves( MbCurve & curve,
|
||||
const RPArray<const MbCurve> & limits,
|
||||
bool inside,
|
||||
PArray<MbCurve> & part2,
|
||||
SArray<MbCrossPoint> * cross = c3d_null,
|
||||
bool * isEqualCurve = c3d_null,
|
||||
SArray<MbCrossPoint> * cross = nullptr,
|
||||
bool * isEqualCurve = nullptr,
|
||||
bool cutOnCurve = false );
|
||||
|
||||
|
||||
|
||||
@@ -440,7 +440,7 @@ MATH_FUNC (MbeProcessState) MinMaxDistances( const MbSurface & surface1,
|
||||
MbMinMaxSurfDists & allResults,
|
||||
MbMinMaxSurfDists & minResults,
|
||||
MbMinMaxSurfDists & maxResults,
|
||||
IProgressIndicator * indicator = c3d_null );
|
||||
IProgressIndicator * indicator = nullptr );
|
||||
|
||||
|
||||
#endif // __ALG_DIMENSION_H
|
||||
|
||||
@@ -1028,7 +1028,7 @@ void DrawVertexEdges( const Vertex * vertex, int vR, int vG, int vB,
|
||||
MbStepData stepData( ist_SpaceStep, Math::visualSag );
|
||||
MbFormNote note(true, false);
|
||||
for ( size_t k = 0, cnt = edges.size(); k < cnt; ++k ) {
|
||||
if ( edges[k] != c3d_null ) {
|
||||
if ( edges[k] != nullptr ) {
|
||||
edges[k]->GetCurve().CalculateMesh( stepData, note, edgeMesh );
|
||||
DrawGI::DrawMesh( &edgeMesh, TRGB_WHITE );
|
||||
DrawGI::DrawMesh( &edgeMesh, eR, eG, eB );
|
||||
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
#define EMPTY_STR StrData<const TCHAR *>( c3d_null ) ///< \ru Создание пустой строки \en Creation of an empty string
|
||||
#define EMPTY_STR StrData<const TCHAR *>( nullptr ) ///< \ru Создание пустой строки \en Creation of an empty string
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -279,14 +279,14 @@ MATH_FUNC (ProgressBarWrapper *) CreateProgressBar( IProgressIndicator * progInd
|
||||
\en The wrapper of the execution progress indicator. \~
|
||||
\param[in] msg - \ru Данные о строке.
|
||||
\en Data of a string \~
|
||||
\return \ru true, если progBar != c3d_null и удалось задать имя процесса.
|
||||
\return \ru true, если progBar != nullptr и удалось задать имя процесса.
|
||||
\en true if 'progBar' is not null and the process name is successfully set. \~
|
||||
\ingroup Base_Items
|
||||
*/
|
||||
// ---
|
||||
inline bool SetProgressBarName( ProgressBarWrapper * progBar, IStrData & msg )
|
||||
{
|
||||
if ( progBar != c3d_null )
|
||||
if ( progBar != nullptr )
|
||||
return progBar->SetName( msg );
|
||||
return false;
|
||||
}
|
||||
@@ -308,7 +308,7 @@ inline bool SetProgressBarName( ProgressBarWrapper * progBar, IStrData & msg )
|
||||
// ---
|
||||
inline bool SetProgressBarValue( ProgressBarWrapper * progBar, size_t v )
|
||||
{
|
||||
if ( progBar != c3d_null && !progBar->IsCancel() )
|
||||
if ( progBar != nullptr && !progBar->IsCancel() )
|
||||
return progBar->SetProgress( v );
|
||||
return false;
|
||||
}
|
||||
@@ -328,7 +328,7 @@ inline bool SetProgressBarValue( ProgressBarWrapper * progBar, size_t v )
|
||||
// ---
|
||||
inline void FinishProgressBar( ProgressBarWrapper * progBar )
|
||||
{
|
||||
if ( progBar != c3d_null ) {
|
||||
if ( progBar != nullptr ) {
|
||||
if ( progBar->IsCancel() ) progBar->Stop();
|
||||
else progBar->Success();
|
||||
}
|
||||
@@ -347,7 +347,7 @@ inline void FinishProgressBar( ProgressBarWrapper * progBar )
|
||||
// ---
|
||||
inline bool StopProgressBar( ProgressBarWrapper * progBar )
|
||||
{
|
||||
if ( progBar != c3d_null && progBar->IsCancel() ) {
|
||||
if ( progBar != nullptr && progBar->IsCancel() ) {
|
||||
progBar->Stop();
|
||||
return true;
|
||||
}
|
||||
@@ -362,14 +362,14 @@ inline bool StopProgressBar( ProgressBarWrapper * progBar )
|
||||
\en The wrapper of the execution progress indicator. \~
|
||||
\param[in] useParentName - \ru Флаг использования имени родителя.
|
||||
\en The flag of using the parent name. \~
|
||||
\return \ru true, если progBar != c3d_null.
|
||||
\return \ru true, если progBar != nullptr.
|
||||
\en true if 'progBar' is not null. \~
|
||||
\ingroup Base_Items
|
||||
*/
|
||||
// ---
|
||||
inline bool UseParentName( ProgressBarWrapper * progBar, bool useParentName )
|
||||
{
|
||||
if ( progBar != c3d_null ) {
|
||||
if ( progBar != nullptr ) {
|
||||
progBar->UseParentName( useParentName );
|
||||
return true;
|
||||
}
|
||||
@@ -389,7 +389,7 @@ inline bool UseParentName( ProgressBarWrapper * progBar, bool useParentName )
|
||||
// ---
|
||||
inline bool IsParentNameUsed( const ProgressBarWrapper * progBar )
|
||||
{
|
||||
if ( progBar != c3d_null )
|
||||
if ( progBar != nullptr )
|
||||
return progBar->IsParentNameUsed();
|
||||
|
||||
return false;
|
||||
|
||||
@@ -76,7 +76,7 @@ MbFaceShell * ConvertGridToShell( const MbGrid & grid,
|
||||
const GridsToShellValues & params,
|
||||
const MbSNameMaker & snMaker,
|
||||
MbResultType & res,
|
||||
IProgressIndicator * progBar = c3d_null );
|
||||
IProgressIndicator * progBar = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -86,7 +86,7 @@ MbFaceShell * ConvertMeshToShell( const MbMesh & mesh,
|
||||
const GridsToShellValues & params,
|
||||
const MbSNameMaker & snMaker,
|
||||
MbResultType & res,
|
||||
IProgressIndicator * progBar = c3d_null );
|
||||
IProgressIndicator * progBar = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -57,9 +57,9 @@ class MbVector3D;
|
||||
\en The discriminant is less than 1. Otherwise it
|
||||
will be set to 0.99999999 automatically. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось построить конику для заданных параметров.
|
||||
nullptr, если не удалось построить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for a given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for a given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -87,9 +87,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_1( const MbCartPoint3D & mbPoint0, const Mb
|
||||
\en The discriminant is less than 1. Otherwise it
|
||||
will be set to 0.99999999 automatically. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось построить конику для заданных параметров.
|
||||
nullptr, если не удалось построить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for a given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for a given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -113,9 +113,9 @@ MATH_FUNC ( MbCurve * ) NurbsConic_1( const MbCartPoint & mbPoint0, const MbCart
|
||||
\param[in] mbVertex - \ru Координаты вершины угла, в который надо вписать конику.
|
||||
\en Coordinates of the vertex of angle which should be inscribed into the conic. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -138,9 +138,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_2( std::vector<MbCartPoint3D> & vmbConicPoi
|
||||
\param[in] mbVertex - \ru Координаты вершины угла, в который надо вписать конику.
|
||||
\en Coordinates of the vertex of angle which should be inscribed into the conic. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -165,9 +165,9 @@ MATH_FUNC ( MbCurve * ) NurbsConic_2( std::vector<MbCartPoint> & vmbConicPoints,
|
||||
\param[in] mbTangent2 - \ru Наклон в конце кривой.
|
||||
\en Inclination at end of a curve. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -193,9 +193,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_3( const std::vector<MbCartPoint3D> & vmbCo
|
||||
\param[in] mbTangent2 - \ru Наклон в конце кривой.
|
||||
\en Inclination at end of a curve. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -224,9 +224,9 @@ MATH_FUNC ( MbCurve * ) NurbsConic_3( const std::vector<MbCartPoint> & vmbConicP
|
||||
\en The discriminant is less than 1. Otherwise it
|
||||
will be set to 0.99999999 automatically. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось построить конику для заданных параметров.
|
||||
nullptr, если не удалось построить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -256,9 +256,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_4( const MbCartPoint3D & mbPoint1, const Mb
|
||||
\en The discriminant is less than 1. Otherwise it
|
||||
will be set to 0.99999999 automatically. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось построить конику для заданных параметров.
|
||||
nullptr, если не удалось построить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -288,9 +288,9 @@ MATH_FUNC ( MbCurve * ) NurbsConic_4( const MbCartPoint & mbPoint1, const MbCart
|
||||
\param[in] tanPntNb - \ru Номер точке, в которой задан наклон.
|
||||
\en Point number at which the inclination is specified. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -319,9 +319,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_5( const std::vector<MbCartPoint3D> & vmbCo
|
||||
\param[in] tanPntNb - \ru Номер точке, в которой задан наклон.
|
||||
\en Point number at which the inclination is specified. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -342,9 +342,9 @@ MATH_FUNC ( MbCurve * ) NurbsConic_5( const std::vector<MbCartPoint> & vmbConicP
|
||||
\en The container for points of a conic: the first point is start point, the last point is end point.
|
||||
there should be exactly 5 points. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
*/
|
||||
// ---
|
||||
@@ -365,9 +365,9 @@ MATH_FUNC ( MbCurve3D * ) NurbsConic_6( const std::vector<MbCartPoint3D> & vmbCo
|
||||
\en The container for points of a conic: the first point is start point, the last point is end point.
|
||||
there should be exactly 5 points. \~
|
||||
\return \ru Указатель на построенную кривую \n
|
||||
c3d_null, если не удалось постороить конику для заданных параметров.
|
||||
nullptr, если не удалось постороить конику для заданных параметров.
|
||||
\en The pointer to the constructed curve \n
|
||||
is c3d_null if a try to construct a conic for given parameters has failed. \~
|
||||
is nullptr if a try to construct a conic for given parameters has failed. \~
|
||||
\ingroup Curve_Modeling
|
||||
*/
|
||||
// ---
|
||||
|
||||
@@ -43,14 +43,14 @@ class MATH_CLASS MbCubicSpline3D;
|
||||
радиус скругления в этой точке. При создании заполняются поля m_lineSeg и m_arcSeg.
|
||||
m_lineSeg - это прямолинейный сегмент из этой точки в следующую. Для последней точки
|
||||
и замкнутой ломаной - из последней в первую. m_arcSeg - дуга скругления в данной точке.
|
||||
Если какой-то сегмент был полностью удален или не создан, то его указатель должен быть c3d_null.
|
||||
Если какой-то сегмент был полностью удален или не создан, то его указатель должен быть nullptr.
|
||||
Объектами m_lineSeg и m_arcSeg не владеет, поэтому и не удаляет их. Объекты из полилинии.
|
||||
\en Some points may be deleted while the construction, therefore the old index is entered,
|
||||
it is filled and used in a model. Parameters of a point are its coordinates and
|
||||
fillet radius in this point. In a time of creation the fields 'm_lineSeg' and 'm_lineSeg' are being filled.
|
||||
'm_lineSeg' is the straight-line segment from this point to the next point. For the last point
|
||||
and a closed polyline - from the last point to the first point. 'm_arcSeg'is the arc of a fillet in the given point.
|
||||
If a segment has been fully deleted or it was not created then the pointer should be c3d_null.
|
||||
If a segment has been fully deleted or it was not created then the pointer should be nullptr.
|
||||
Object 'm_lineSeg' and 'm_arcSeg' are not owned, therefore they are not deleted. Objects from a polyline. \~
|
||||
\ingroup Data_Structures
|
||||
*/
|
||||
@@ -69,8 +69,8 @@ public:
|
||||
: m_oldIndex( SYS_MAX_T )
|
||||
, m_point ()
|
||||
, m_radius ( 0.0 )
|
||||
, m_lineSeg ( c3d_null )
|
||||
, m_arcSeg ( c3d_null )
|
||||
, m_lineSeg ( nullptr )
|
||||
, m_arcSeg ( nullptr )
|
||||
{}
|
||||
/// \ru Конструктор копирования. \en Copy constructor.
|
||||
Polyline3DPoint( const Polyline3DPoint & other )
|
||||
@@ -250,9 +250,9 @@ MATH_FUNC (void) CreateSmoothFromBezier( const MbBezier & bez, RPArray<MbCurve>
|
||||
/** \brief \ru Создать кривую заданного типа базе NURBS-кривой.
|
||||
\en Create a curve of a given type as NURBS-curve. \~
|
||||
\details \ru Работает для двух типов: pt_LineSegment и pt_Arc. Если не удалось
|
||||
аппроксимировать с заданной точностью функция вернет c3d_null.
|
||||
аппроксимировать с заданной точностью функция вернет nullptr.
|
||||
\en It works for the two types: 'pt_LineSegment' and 'pt_Arc'. If approximation with the given tolerance has failed
|
||||
then the function returns c3d_null. \~
|
||||
then the function returns nullptr. \~
|
||||
\param[in] nurbs - \ru Исходная NURBS-кривая.
|
||||
\en The initial NURBS-curve. \~
|
||||
\param[in] type - \ru Тип кривой, которую требуется создать.
|
||||
@@ -288,7 +288,7 @@ MATH_FUNC (MbCurve *) ConvertNurbsToCurveOfType( const MbNurbs & nurbs, MbePlane
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbCurve *) GetFlatCurve( const MbCurve3D & curve3D, const MbMatrix3D & into,
|
||||
MbRect1D * pRgn = c3d_null, VERSION version = Math::DefaultMathVersion() );
|
||||
MbRect1D * pRgn = nullptr, VERSION version = Math::DefaultMathVersion() );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+18
-11
@@ -95,10 +95,10 @@ public:
|
||||
// \ru Общие функции геометрического объекта \en Common functions of a geometric object
|
||||
|
||||
virtual MbeSpaceType IsA() const; // \ru Тип объекта. \en An object type.
|
||||
virtual MbSpaceItem & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * iReg = c3d_null ); // \ru Преобразовать согласно матрице. \en Transform according to the matrix.
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * iReg = c3d_null ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * iReg = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual MbSpaceItem & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * iReg = nullptr ); // \ru Преобразовать согласно матрице. \en Transform according to the matrix.
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * iReg = nullptr ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * iReg = nullptr ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual bool IsSame( const MbSpaceItem & other, double accuracy = LENGTH_EPSILON ) const; // \ru Являются ли объекты равными? \en Are the objects equal?
|
||||
virtual bool IsSimilar( const MbSpaceItem & ) const; // \ru Являются ли объекты подобными? \en Are the objects similar?
|
||||
virtual bool SetEqual ( const MbSpaceItem & ); // \ru Сделать объекты равным \en Make the objects equal
|
||||
@@ -152,11 +152,11 @@ public:
|
||||
virtual const MbItem * GetItemByName( SimpleName n, MbPath & path, MbMatrix3D & from ) const;
|
||||
|
||||
// \ru Преобразовать согласно матрице c использованием регистратора селектированные содержимые объекты. \en Transform selected objects according to the matrix using the registrator.
|
||||
virtual void TransformSelected( const MbMatrix3D & matr, MbRegTransform * iReg = c3d_null );
|
||||
virtual void TransformSelected( const MbMatrix3D & matr, MbRegTransform * iReg = nullptr );
|
||||
// \ru Сдвинуть вдоль вектора с использованием регистратора селектированные содержимые объекты. \en Move selected objects along the vector using the registrator.
|
||||
virtual void MoveSelected( const MbVector3D & to, MbRegTransform * iReg = c3d_null );
|
||||
virtual void MoveSelected( const MbVector3D & to, MbRegTransform * iReg = nullptr );
|
||||
// \ru Повернуть вокруг оси на заданный угол с использованием регистратора селектированные содержимые объекты. \en Rotate selected objects about the axis by the given angle using the registrator.
|
||||
virtual void RotateSelected( const MbAxis3D & axis, double angle, MbRegTransform * iReg = c3d_null );
|
||||
virtual void RotateSelected( const MbAxis3D & axis, double angle, MbRegTransform * iReg = nullptr );
|
||||
/// \ru Отдать селектированные содержимые объекты. \en Get selected objects.
|
||||
bool DetachSelected( RPArray<MbItem> & items, SArray<MbMatrix3D> & matrs, bool selected = true );
|
||||
/// \ru Отцепить все видимые или невидимые объекты. \en Detach all visible or invisible objects. \~
|
||||
@@ -248,6 +248,11 @@ public:
|
||||
void SetReactor( ItAssemblyReactor * ) const;
|
||||
/// \ru Импортировать систему ограничений из приложения САПР. \ru Import the constraint system from CAD application.
|
||||
bool Import( ItAssemblyImportData & );
|
||||
/**
|
||||
\brief \ru Включить журналирование и назначить файл для записи журнала вызовов C3D Solver.
|
||||
\en Switch on the journaling and specify the file for recording a journal of C3D Solver calls. \~
|
||||
*/
|
||||
bool SetJournal( const char * fName );
|
||||
|
||||
public:
|
||||
/** \} */
|
||||
@@ -273,6 +278,8 @@ private:
|
||||
SimpleName _NewItemName() const;
|
||||
/// \ru Добавить в сборку объекты сборки без трансформации. \en Add assembly items to the assembly without transformation.
|
||||
bool _AddAssemblyItems( MbAssembly & );
|
||||
// Access to non-const reference of the constraint system.
|
||||
MbConstraintSystem & _System();
|
||||
|
||||
OBVIOUS_PRIVATE_COPY( MbAssembly );
|
||||
}; // MbAssembly
|
||||
@@ -313,8 +320,8 @@ template <class ItemsVector>
|
||||
MbAssembly::MbAssembly( const ItemsVector & items )
|
||||
: MbItem()
|
||||
, assemblyItems()
|
||||
, constraintSystem( c3d_null )
|
||||
, m_reactor( c3d_null )
|
||||
, constraintSystem( nullptr )
|
||||
, m_reactor( nullptr )
|
||||
{
|
||||
#ifdef C3D_DEBUG
|
||||
// Check a condition of the single owner.
|
||||
@@ -339,7 +346,7 @@ MbAssembly::MbAssembly( const ItemsVector & items )
|
||||
template <class ItemsVector>
|
||||
void MbAssembly::_Init( const ItemsVector & items )
|
||||
{
|
||||
C3D_ASSERT( assemblyItems.empty() && (constraintSystem == c3d_null) );
|
||||
C3D_ASSERT( assemblyItems.empty() && (constraintSystem == nullptr) );
|
||||
SimpleName idCounter = 0;
|
||||
|
||||
for ( size_t i = 0, iCount = items.size(); i < iCount; ++i )
|
||||
@@ -386,7 +393,7 @@ void MbAssembly::GetFacesSet( FacesVector & faces ) const
|
||||
template <class FacesVector>
|
||||
void MbInstance::GetFacesSet( FacesVector & faces ) const
|
||||
{
|
||||
if ( item != c3d_null ) {
|
||||
if ( item != nullptr ) {
|
||||
if ( item->IsA() == st_Solid )
|
||||
static_cast<const MbSolid &>( *item ).GetFacesSet( faces );
|
||||
else if ( item->IsA() == st_Assembly )
|
||||
|
||||
@@ -51,10 +51,10 @@ public :
|
||||
|
||||
// \ru Общие функции геометрического объекта. \en Common functions of a geometric object.
|
||||
virtual MbeSpaceType IsA() const; // \ru Тип объекта. \en An object type.
|
||||
virtual MbSpaceItem & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать согласно матрице. \en Transform 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 MbSpaceItem & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать согласно матрице. \en Transform according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual bool IsSame ( const MbSpaceItem & other, double accuracy = LENGTH_EPSILON ) const; // \ru Являются ли объекты равными? \en Whether the objects are equal?
|
||||
virtual bool IsSimilar( const MbSpaceItem & init ) const; // \ru Являются ли объекты подобными? \en Whether the objects are similar?
|
||||
virtual bool SetEqual ( const MbSpaceItem & init ); // \ru Сделать объекты равным. \en Make the objects equal.
|
||||
|
||||
@@ -185,7 +185,7 @@ public :
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -234,7 +234,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -280,7 +280,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -333,7 +333,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -414,7 +414,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ protected :
|
||||
public :
|
||||
virtual MbeAttributeType AttributeFamily() const; // \ru Выдать тип атрибута. \en Get attribute type.
|
||||
virtual MbeAttributeType AttributeType() const = 0; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const = 0; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const = 0; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ) = 0; // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -46,13 +46,13 @@ public :
|
||||
// \ru Выполнить действия при конвертации владельца. \en Perform actions when converting the owner.
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging he owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при замене владельца. \en Perform actions when replacing the owner.
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -137,7 +137,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -173,7 +173,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -209,7 +209,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -243,7 +243,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -280,7 +280,7 @@ public:
|
||||
public:
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual void GetCharValue( TCHAR * v ) const; // \ru Выдать строковое значение свойства. \en Get a string value of the property.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
|
||||
@@ -38,7 +38,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -86,7 +86,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -137,7 +137,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -184,7 +184,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
public :
|
||||
virtual MbeAttributeType AttributeFamily() const; // \ru Тип атрибута \en Type of an attribute
|
||||
virtual MbeAttributeType AttributeType() const = 0; // \ru Выдать подтип атрибута \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const = 0; // \ru Сделать копию элемента \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const = 0; // \ru Сделать копию элемента \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const = 0; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ) = 0; // \ru Инициализировать данные по присланным \en Initialize data.
|
||||
|
||||
@@ -39,13 +39,13 @@ public :
|
||||
// \ru Действия при конвертации владельца. \en Actions when converting the owner.
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
/// \ru Действия при трансформировании владельца. \en Actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Действия при перемещении владельца. \en Actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Действия при вращении владельца. \en Actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Действия при копировании владельца. \en Actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Действия при объединении владельца. \en Actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Действия при замене владельца. \en Actions when replacing the owner.
|
||||
|
||||
@@ -43,20 +43,20 @@ public:
|
||||
// \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbeAttributeType AttributeType() const;
|
||||
// \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
// \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const;
|
||||
// \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual bool Init( const MbAttribute & );
|
||||
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
|
||||
|
||||
@@ -52,19 +52,19 @@ public:
|
||||
// \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbeAttributeType AttributeType() const;
|
||||
// \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
// \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const;
|
||||
// \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual bool Init( const MbAttribute & );
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ public :
|
||||
// \ru Общие функции объекта. \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -92,7 +92,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -159,7 +159,7 @@ public :
|
||||
// \ru Общие функции объекта \en Common functions of object
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -221,7 +221,7 @@ public :
|
||||
|
||||
virtual MbeAttributeType AttributeFamily() const; // \ru Дать тип атрибута. \en Get type of an attribute.
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -233,13 +233,13 @@ public :
|
||||
// \ru Выполнить действия при конвертации владельца \en Perform actions when converting the owner.
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при замене владельца. \en Perform actions when replacing the owner.
|
||||
@@ -289,7 +289,7 @@ public:
|
||||
// \ru Общие функции объекта. \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по атрибуту. \en Initialize by attribute.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
|
||||
@@ -37,7 +37,7 @@ public :
|
||||
// Выдать подтип атрибута (временно).
|
||||
virtual MbeAttributeType AttributeType() const = 0;
|
||||
// Сделать копию элемента.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const = 0;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const = 0;
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const = 0; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
// Инициализировать данные по присланным.
|
||||
virtual bool Init( const MbAttribute & ) = 0;
|
||||
@@ -49,13 +49,13 @@ public :
|
||||
// Действия при конвертации владельца.
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// Действия при трансформировании владельца.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// Действия при перемещении владельца.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// Действия при вращении владельца.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// Действия при копировании владельца.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// Действия при объединении владельца.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// Действия при замене владельца.
|
||||
@@ -100,7 +100,7 @@ public :
|
||||
// Выдать подтип атрибута (временно).
|
||||
virtual MbeAttributeType AttributeType() const;
|
||||
// Сделать копию элемента.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // Определить, являются ли объекты равными.
|
||||
// Инициализировать данные по присланным.
|
||||
virtual bool Init( const MbAttribute & ) ;
|
||||
@@ -326,7 +326,7 @@ public :
|
||||
// Выдать подтип атрибута (временно).
|
||||
virtual MbeAttributeType AttributeType() const;
|
||||
// Сделать копию элемента.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const ;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const ;
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // Определить, являются ли объекты равными.
|
||||
// Инициализировать данные по присланным.
|
||||
virtual bool Init( const MbAttribute & ) ;
|
||||
|
||||
@@ -37,7 +37,7 @@ public :
|
||||
|
||||
// \ru Общие функции объекта. \en Common functions of object.
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data by given attribute.
|
||||
|
||||
@@ -83,7 +83,7 @@ public :
|
||||
// \ru Общие функции объекта. \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data by given attribute.
|
||||
|
||||
@@ -129,7 +129,7 @@ public :
|
||||
// \ru Общие функции объекта. \en Common functions of object.
|
||||
|
||||
virtual MbeAttributeType AttributeType() const; // \ru Дать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data by given attribute.
|
||||
|
||||
|
||||
@@ -49,20 +49,20 @@ public:
|
||||
// \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbeAttributeType AttributeType() const;
|
||||
// \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
// \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const;
|
||||
// \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
virtual bool Init( const MbAttribute & );
|
||||
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
\ingroup Model_Attributes
|
||||
*/
|
||||
class MATH_CLASS MbUserAttribute : public MbAttribute, public MbSyncItem {
|
||||
typedef std_unique_ptr<membuf> UniqueMembufPtr;
|
||||
typedef std::unique_ptr<membuf> UniqueMembufPtr;
|
||||
protected :
|
||||
MbUserAttribType userType_; ///< \ru Тип пользовательского атрибута. \en Type of user attribute.
|
||||
c3d::string_t prompt_; ///< \ru Строка описания. \en String of description.
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
/// \ru Выдать подтип пользовательского атрибута по пользовательскому типу. \en Get subtype of an user attribute by user-defined type.
|
||||
static MbeAttributeType AttributeType( const MbUserAttribType & userType );
|
||||
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ); // \ru Инициализировать данные по присланным. \en Initialize data by given attribute.
|
||||
|
||||
@@ -117,13 +117,13 @@ public:
|
||||
// \ru Выполнить действия при конвертации владельца \en Perform actions when converting the owner
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при трансформировании владельца \en Perform actions when transforming the owner
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при замене владельца. \en Perform actions when replacing the owner.
|
||||
@@ -197,7 +197,7 @@ public :
|
||||
/// \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbUserAttribType AttrTypeEx() const = 0;
|
||||
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const = 0; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const = 0; // \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual bool IsSame( const MbAttribute &, double accuracy ) const = 0; // \ru Определить, являются ли объекты равными. \en Determine whether objects are equal.
|
||||
virtual bool Init( const MbAttribute & ) = 0; // \ru Инициализировать данные по присланным. \en Initialize data.
|
||||
|
||||
@@ -206,13 +206,13 @@ public :
|
||||
// \ru Выполнить действия при конвертации владельца. \en Perform actions when converting the owner.
|
||||
virtual void OnConvertOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при трансформировании владельца. \en Perform actions when transforming the owner.
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при перемещении владельца. \en Perform actions when moving the owner.
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при вращении владельца. \en Perform actions when rotating the owner.
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
// \ru Выполнить действия при копировании владельца. \en Perform actions when copying the owner.
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null );
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr );
|
||||
// \ru Выполнить действия при объединении владельца. \en Perform actions when merging the owner.
|
||||
virtual void OnMergeOwner( const MbAttributeContainer & owner, MbAttributeContainer & other );
|
||||
// \ru Выполнить действия при замене владельца. \en Perform actions when replacing the owner.
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
/// \ru Выдать идентификатор атрибута. \en Get attribute identifier.
|
||||
const MbUserAttribType & GetUserAttrId() const { return userAttrId; }
|
||||
/// \ru Выдать атрибуты. \en Get attributes.
|
||||
const MbAttribute * GetAttribute( size_t k ) const { return ((k < attributes.size()) ? attributes[k] : c3d_null); }
|
||||
const MbAttribute * GetAttribute( size_t k ) const { return ((k < attributes.size()) ? attributes[k] : nullptr); }
|
||||
// \ru Выдать количество атрибутов. \en Get the number of attributes.
|
||||
size_t AttributesCount() const { return attributes.size(); }
|
||||
|
||||
@@ -300,7 +300,7 @@ MbUserAttribute * UserAttrDefinition<AttrClass>::ReduceUserAttrib( const MbExter
|
||||
MbUserAttribute * resAttr = new MbUserAttribute( _T("AttrClass"), attrId );
|
||||
resAttr->InitActions( source );
|
||||
{
|
||||
const char * charBuf = c3d_null;
|
||||
const char * charBuf = nullptr;
|
||||
size_t memLen = 0;
|
||||
{
|
||||
membuf memBuf;
|
||||
@@ -330,7 +330,7 @@ MbUserAttribute * UserAttrDefinition<AttrClass>::ReduceUserAttrib( const MbExter
|
||||
template <typename AttrClass>
|
||||
MbExternalAttribute * UserAttrDefinition<AttrClass>::AdvanceUserAttrib( const MbUserAttribute & source )
|
||||
{
|
||||
AttrClass * resAttr = c3d_null;
|
||||
AttrClass * resAttr = nullptr;
|
||||
MbUserAttribType attrId;
|
||||
source.GetUserAttribId( attrId );
|
||||
{
|
||||
@@ -360,7 +360,7 @@ MbExternalAttribute * UserAttrDefinition<AttrClass>::AdvanceUserAttrib( const Mb
|
||||
// ---
|
||||
template <typename AttrClass>
|
||||
MbFixAttrSet * UserAttrDefinition<AttrClass>::DisassembleUserAttrib( const MbExternalAttribute & /*source*/ ) {
|
||||
return c3d_null;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -379,7 +379,7 @@ bool UserAttrDefinition<AttrClass>::ReassembleUserAttrib( const MbFixAttrSet & /
|
||||
template <typename AttrDefClass>
|
||||
UserAttrDefinitionInstance<AttrDefClass>::UserAttrDefinitionInstance( const MbUserAttribType & type )
|
||||
: AttrDefInstance( type )
|
||||
, attrDef( c3d_null )
|
||||
, attrDef( nullptr )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -390,7 +390,7 @@ UserAttrDefinitionInstance<AttrDefClass>::UserAttrDefinitionInstance( const MbUs
|
||||
template <typename AttrDefClass>
|
||||
UserAttrDefinitionInstance<AttrDefClass>::~UserAttrDefinitionInstance()
|
||||
{
|
||||
if ( attrDef != c3d_null )
|
||||
if ( attrDef != nullptr )
|
||||
delete attrDef;
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ UserAttrDefinitionInstance<AttrDefClass>::~UserAttrDefinitionInstance()
|
||||
template <typename AttrDefClass>
|
||||
IAttrDefinition * UserAttrDefinitionInstance<AttrDefClass>::GetAttrDefinition()
|
||||
{
|
||||
if ( attrDef == c3d_null ) {
|
||||
if ( attrDef == nullptr ) {
|
||||
ScopedLock ll( GetLock() );
|
||||
attrDef = new AttrDefClass();
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ public :
|
||||
/// \ru Выдать подтип атрибута. \en Get subtype of an attribute.
|
||||
virtual MbeAttributeType AttributeType() const = 0;
|
||||
/// \ru Сделать копию элемента. \en Create a copy of the element.
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = c3d_null ) const = 0;
|
||||
virtual MbAttribute & Duplicate( MbRegDuplicate * = nullptr ) const = 0;
|
||||
/** \brief \ru Определить, являются ли объекты равными.
|
||||
\en Determine whether objects are equal. \~
|
||||
\details \ru Равными считаются однотипные объекты, все данные которых одинаковы (равны).
|
||||
@@ -336,7 +336,7 @@ public :
|
||||
\en Perform actions when transforming the owner, \n
|
||||
This function is called after transforming the owning object in a case when GetActionForTransform() == trn_Self.
|
||||
The registrator of transformed objects may be passed as input parameter. \~ */
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = c3d_null ) = 0;
|
||||
virtual void OnTransformOwner( const MbAttributeContainer & owner, const MbMatrix3D &, MbRegTransform * = nullptr ) = 0;
|
||||
|
||||
/**\ru Выполнить действия при перемещении владельца. \n
|
||||
Вызывается после перемещения владеющего объекта при условии GetActionForTransform() == trn_Self.
|
||||
@@ -344,7 +344,7 @@ public :
|
||||
\en Perform actions when moving the owner. \n
|
||||
This function is called after moving the owning object in a case when GetActionForTransform() == trn_Self.
|
||||
The registrator of transformed objects may be passed as input parameter. \~ */
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = c3d_null ) = 0;
|
||||
virtual void OnMoveOwner( const MbAttributeContainer & owner, const MbVector3D &, MbRegTransform * = nullptr ) = 0;
|
||||
|
||||
/**\ru Выполнить действия при вращении владельца. \n
|
||||
Вызывается после вращения владеющего объекта при условии GetActionForTransform() == trn_Self.
|
||||
@@ -352,7 +352,7 @@ public :
|
||||
\en Perform actions when rotating the owner. \n
|
||||
This function is called after rotating the owning object in a case when GetActionForTransform() == trn_Self.
|
||||
The registrator of transformed objects may be passed as input parameter. \~ */
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = c3d_null ) = 0;
|
||||
virtual void OnRotateOwner( const MbAttributeContainer & owner, const MbAxis3D &, double angle, MbRegTransform * = nullptr ) = 0;
|
||||
|
||||
/**\ru Выполнить действия при копировании владельца. \n
|
||||
Вызывается после копирования владеющего объекта при условии GetActionForCopy() == cpy_Self. \n
|
||||
@@ -360,7 +360,7 @@ public :
|
||||
\en Perform actions when copying the owner. \n
|
||||
This function is called after copying the owning object in a case when GetActionForCopy() == cpy_Self. \n
|
||||
The following objects are passed as input parameters: the owning object copy and registrator of copied objects. \~ */
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = c3d_null ) = 0;
|
||||
virtual void OnCopyOwner( const MbAttributeContainer & owner, MbAttributeContainer & other, MbRegDuplicate * = nullptr ) = 0;
|
||||
|
||||
/**\ru Выполнить действия при объединении владельца. \n
|
||||
Вызывается перед слиянием владельца при условии GetActionForMerge() == mrg_Self. \n
|
||||
|
||||
@@ -169,13 +169,13 @@ public:
|
||||
/// \ru Выполнить действия при конвертации атрибутов. \en Perform actions when converting the attributes.
|
||||
void AttributesConvert( MbAttributeContainer & other ) const;
|
||||
/// \ru Выполнить действия при трансформировании атрибутов. \en Perform actions when transforming the attributes.
|
||||
void AttributesTransform( const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
void AttributesTransform( const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
/// \ru Выполнить действия при перемещении атрибутов. \en Perform actions when moving the attributes.
|
||||
void AttributesMove ( const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
void AttributesMove ( const MbVector3D &, MbRegTransform * = nullptr );
|
||||
/// \ru Выполнить действия при вращении атрибутов. \en Perform actions when rotating the attributes.
|
||||
void AttributesRotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
void AttributesRotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
/// \ru Выполнить действия при копировании атрибутов. \en Perform actions when copying the attributes.
|
||||
void AttributesCopy ( MbAttributeContainer & other, MbRegDuplicate * = c3d_null ) const;
|
||||
void AttributesCopy ( MbAttributeContainer & other, MbRegDuplicate * = nullptr ) const;
|
||||
/// \ru Выполнить действия при объединении атрибутов. \en Perform actions when merging the attributes.
|
||||
void AttributesMerge ( MbAttributeContainer & other );
|
||||
/// \ru Выполнить действия при замене атрибутов. \en Perform actions when replacing the attributes.
|
||||
@@ -195,7 +195,7 @@ public:
|
||||
double GetDensity() const;
|
||||
|
||||
/// \ru Установить визуальные свойства объекта. \en Set visual properties of the object.
|
||||
void SetVisual( float a, float d, float sp, float sh, float t, float e );
|
||||
void SetVisual( float a, float d, float sp, float sh, float t, float e, uint rgb = 0 );
|
||||
/** \brief \ru Выдать визуальные свойства объекта.
|
||||
\en Get visual properties of the object. \~
|
||||
\details \ru Выдать визуальные свойства объекта.
|
||||
@@ -215,7 +215,7 @@ public:
|
||||
\return \ru true если есть такой атрибут \n false в противном случае
|
||||
\en True if there is the attribute MbVisual \n otherwise false. \~
|
||||
*/
|
||||
bool GetVisual( float & a, float & d, float & sp, float & sh, float & t, float & e ) const;
|
||||
bool GetVisual( float & a, float & d, float & sp, float & sh, float & t, float & e, uint rgb = 0 ) const;
|
||||
|
||||
/// \ru Есть ли у объекта свой цвет. \en .
|
||||
|
||||
@@ -226,7 +226,7 @@ public:
|
||||
\return \ru true если есть такой атрибут \n false в противном случае
|
||||
\en True if there is the attribute MbColor \n otherwise false. \~
|
||||
*/
|
||||
bool IsColored() const { return (GetSimpleAttribute( at_Color ) != c3d_null); }
|
||||
bool IsColored() const { return (GetSimpleAttribute( at_Color ) != nullptr); }
|
||||
/// \ru Изменить цвет объекта. \en Change color of the object.
|
||||
void SetColor( uint32 );
|
||||
/// \ru Изменить цвет объекта (0-255). \en Change color of the object (0-255).
|
||||
@@ -322,7 +322,7 @@ MATH_FUNC (bool) AddCommonAttributes( const MbAttributeContainer & srcItem,
|
||||
MbeAttributeType attrType,
|
||||
const c3d::string_t & attrPrompt,
|
||||
MbAttributeContainer & dstItem,
|
||||
c3d::AttrVector * bufAttrs = c3d_null );
|
||||
c3d::AttrVector * bufAttrs = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Удалить обобщенные атрибуты.
|
||||
|
||||
@@ -45,8 +45,8 @@ typedef const void * cdet_app_item;
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Constants
|
||||
//---
|
||||
const cdet_item CDET_NULL = c3d_null; ///< \ru Пустой объект набора для контроля столкновений. \en Empty object of the collision query set.
|
||||
const cdet_app_item CDET_APP_NULL = c3d_null; ///< \ru "Нулевой" объект модели приложения. \en "Null object" of the client app.
|
||||
const cdet_item CDET_NULL = nullptr; ///< \ru Пустой объект набора для контроля столкновений. \en Empty object of the collision query set.
|
||||
const cdet_app_item CDET_APP_NULL = nullptr; ///< \ru "Нулевой" объект модели приложения. \en "Null object" of the client app.
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/** \brief \ru Структура данных и обратных вызовов для запроса на поиск соударений.
|
||||
@@ -87,8 +87,8 @@ struct cdet_query
|
||||
const MbRefItem * refItem;
|
||||
const MbMatrix3D * wMatrix;
|
||||
geom_element()
|
||||
: appItem( c3d_null )
|
||||
, refItem( c3d_null )
|
||||
: appItem( nullptr )
|
||||
, refItem( nullptr )
|
||||
, wMatrix( &MbMatrix3D::identity ) {}
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ struct cdet_query_result: public cdet_query
|
||||
private:
|
||||
static cback_res QueryFunc( cdet_query * query, message code, cback_data & )
|
||||
{
|
||||
C3D_ASSERT( c3d_null != query );
|
||||
C3D_ASSERT( nullptr != query );
|
||||
cdet_query_result * q = static_cast<cdet_query_result*>( query );
|
||||
switch( code )
|
||||
{
|
||||
@@ -172,7 +172,7 @@ private:
|
||||
{
|
||||
case CDET_QUERY_STARTED: // The collision query is started for all solids of the set
|
||||
{
|
||||
q->first = q->second = c3d_null;
|
||||
q->first = q->second = nullptr;
|
||||
return CBACK_VOID;
|
||||
}
|
||||
case CDET_FINISHED: // A pair of solids is finished.
|
||||
@@ -368,7 +368,7 @@ public:
|
||||
MbCollisionFace( const MbFace & f )
|
||||
: item( CDET_NULL )
|
||||
, mathFace( &f )
|
||||
, partFace( c3d_null )
|
||||
, partFace( nullptr )
|
||||
{}
|
||||
|
||||
const MbFace & Face() const { return *mathFace; }
|
||||
|
||||
@@ -119,7 +119,7 @@ public:
|
||||
|
||||
|
||||
public: // the functions below can be deprecated in future version.
|
||||
/**
|
||||
/*
|
||||
\brief \ru Добавить модель тела, как набор граней и решеток.
|
||||
\en Add a solid data as a set of faces and the grids. \~
|
||||
\return \ru Внутренняя структура данных представляющая добавленную модель. \en Internal data structure representing added solid data. \~
|
||||
@@ -162,7 +162,7 @@ public: /*
|
||||
// Use AppItem() insead this
|
||||
cdet_app_item Component( size_t solIdx ) const;
|
||||
// The func is deprecated. Instead, use CheckCollisions
|
||||
cdet_result InterferenceDetect( void * formalPar = c3d_null ) const;
|
||||
cdet_result InterferenceDetect( void * formalPar = nullptr ) const;
|
||||
// The func is deprecated. Use SetDistanceTracking instead.
|
||||
void SetDistanceComputationObjects( const MbLumpAndFaces &, const MbLumpAndFaces & );
|
||||
// The func is deprecated. Use AddSolid/AddItem instead.
|
||||
@@ -197,7 +197,7 @@ inline cdet_result MbCollisionDetectionUtility::CheckCollisions()
|
||||
/// \ru Узел дерева объемов. \en A node of the bounding volume tree.
|
||||
typedef const MtRefItem * cdet_bvt_node;
|
||||
/// \ru Пустое дерево объемов. \en An empty bounding volume tree.
|
||||
const cdet_bvt_node CDET_BVT_NULL = c3d_null;
|
||||
const cdet_bvt_node CDET_BVT_NULL = nullptr;
|
||||
/// \ru Пара ветвей поддерева объемов. \en A pair of branches of the bounding volume subtree.
|
||||
typedef std::pair<cdet_bvt_node,cdet_bvt_node> cdet_bvt_pair;
|
||||
|
||||
|
||||
@@ -70,13 +70,13 @@ public:
|
||||
|
||||
public:
|
||||
/// \ru Пересечение - есть тело. \en Intersection is a solid.
|
||||
bool IsSolid() const { return ((solid != c3d_null) || (isSolid && !edges.empty())); }
|
||||
bool IsSolid() const { return ((solid != nullptr) || (isSolid && !edges.empty())); }
|
||||
/// \ru Пересечение касательной областью поверхности. \en Intersection by a tangent region of a surface.
|
||||
bool IsSurface() const { return !isTangentCurve && !edges.empty(); }
|
||||
/// \ru Пересечение вдоль касательной линии. \en Intersection along a tangent line.
|
||||
bool IsCurve() const { return isTangentCurve && !edges.empty(); }
|
||||
/// \ru Пересечение точкой (еще не реализовано). \en Intersection is a point (not implemented yet).
|
||||
bool IsPoint() const { return ((pointFrame != c3d_null) && (pointFrame->GetVerticesCount() > 0)); }
|
||||
bool IsPoint() const { return ((pointFrame != nullptr) && (pointFrame->GetVerticesCount() > 0)); }
|
||||
|
||||
/// \ru Установить флаг пересечения вдоль касательной линии. \en Set the flag of intersection along a tangent line.
|
||||
//void SetTangent( bool b ) { isTangentCurve = b; }
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
template <class EdgesVector>
|
||||
void GetCurves( EdgesVector & curves ) const;
|
||||
/// \ru Получить указатель на кривую пересечения по индексу. \en Get a pointer to an intersection curve by the index.
|
||||
const MbCurveEdge * GetCurve( size_t k ) const { return ((k < edges.size()) ? edges[k].get() : c3d_null); }
|
||||
const MbCurveEdge * GetCurve( size_t k ) const { return ((k < edges.size()) ? edges[k].get() : nullptr); }
|
||||
/// \ru Получить номера касающихся граней первого/второго тела. \en Get numbers concerning faces of the first/second solid.
|
||||
template <class OutputIndicesVector>
|
||||
void GetFaceNumbers( bool first, OutputIndicesVector & ) const;
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
void GetFaceNumbersPairs( OutputIndicesPairsVector & ) const;
|
||||
|
||||
/// \ru Количество точек касания. \en The number of touch points.
|
||||
size_t GetPointsCount() const { return ((pointFrame != c3d_null) ? pointFrame->GetVerticesCount() : 0); }
|
||||
size_t GetPointsCount() const { return ((pointFrame != nullptr) ? pointFrame->GetVerticesCount() : 0); }
|
||||
/// \ru Получить набор точек касания. \en Get a set of touch points.
|
||||
const MbPointFrame * GetPointFrame() const { return pointFrame; }
|
||||
|
||||
@@ -117,8 +117,8 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector & initEdge
|
||||
: edges ( )
|
||||
, faceIndices1 ( )
|
||||
, faceIndices2 ( )
|
||||
, solid ( c3d_null )
|
||||
, pointFrame ( c3d_null )
|
||||
, solid ( nullptr )
|
||||
, pointFrame ( nullptr )
|
||||
, isTangentCurve( false )
|
||||
, isSolid ( isSolidEgdes )
|
||||
{
|
||||
@@ -127,7 +127,7 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector & initEdge
|
||||
c3d::EdgeSPtr edge;
|
||||
edges.reserve( addCnt );
|
||||
for ( size_t k = 0; k < addCnt; ++k ) {
|
||||
if ( initEdges[k] != c3d_null ) {
|
||||
if ( initEdges[k] != nullptr ) {
|
||||
edge = const_cast<MbCurveEdge *>( &(*initEdges[k]) );
|
||||
edges.push_back( edge );
|
||||
}
|
||||
@@ -146,8 +146,8 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector & in
|
||||
: edges ( )
|
||||
, faceIndices1 ( )
|
||||
, faceIndices2 ( )
|
||||
, solid ( c3d_null )
|
||||
, pointFrame ( c3d_null )
|
||||
, solid ( nullptr )
|
||||
, pointFrame ( nullptr )
|
||||
, isTangentCurve( false )
|
||||
, isSolid ( false )
|
||||
{
|
||||
@@ -157,7 +157,7 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector & in
|
||||
c3d::EdgeSPtr edge;
|
||||
edges.reserve( edgesCnt );
|
||||
for ( size_t k = 0; k < edgesCnt; ++k ) {
|
||||
if ( initEdges[k] != c3d_null ) {
|
||||
if ( initEdges[k] != nullptr ) {
|
||||
edge = const_cast<MbCurveEdge *>(&(*initEdges[k]));
|
||||
edges.push_back( edge );
|
||||
}
|
||||
@@ -177,8 +177,8 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector &
|
||||
: edges ( )
|
||||
, faceIndices1 ( )
|
||||
, faceIndices2 ( )
|
||||
, solid ( c3d_null )
|
||||
, pointFrame ( c3d_null )
|
||||
, solid ( nullptr )
|
||||
, pointFrame ( nullptr )
|
||||
, isTangentCurve( false )
|
||||
, isSolid ( false )
|
||||
{
|
||||
@@ -189,7 +189,7 @@ MbShellsIntersectionData::MbShellsIntersectionData( const EdgesVector &
|
||||
edges.reserve( edgesCnt );
|
||||
size_t k;
|
||||
for ( k = 0; k < edgesCnt; ++k ) {
|
||||
if ( initEdges[k] != c3d_null ) {
|
||||
if ( initEdges[k] != nullptr ) {
|
||||
edge = const_cast<MbCurveEdge *>(&(*initEdges[k]));
|
||||
edges.push_back( edge );
|
||||
}
|
||||
@@ -340,9 +340,9 @@ bool CheckBoundaryEdges( const Edges & allEdges, Edges * boundaryEdges )
|
||||
|
||||
if ( boundaryEdges != &allEdges ) {
|
||||
for ( size_t i = 0, cnt = allEdges.size(); i < cnt; ++i ) {
|
||||
if ( allEdges[i] != c3d_null && allEdges[i]->IsBoundaryFace( METRIC_PRECISION ) ) {
|
||||
if ( allEdges[i] != nullptr && allEdges[i]->IsBoundaryFace( METRIC_PRECISION ) ) {
|
||||
isBoundary = true;
|
||||
if ( boundaryEdges != c3d_null )
|
||||
if ( boundaryEdges != nullptr )
|
||||
boundaryEdges->push_back( allEdges[i] );
|
||||
else
|
||||
break;
|
||||
@@ -415,9 +415,9 @@ bool CheckInexactVertices( const Vertices & vertArr, double mAcc, Vertices * ine
|
||||
if ( inexactVerts != &vertArr ) {
|
||||
for ( size_t i = 0, icnt = vertArr.size(); i < icnt; ++i ) {
|
||||
MbVertex * v = vertArr[i];
|
||||
if ( v != c3d_null && v->GetTolerance() > mAcc ) {
|
||||
if ( v != nullptr && v->GetTolerance() > mAcc ) {
|
||||
isInexactVertex = true;
|
||||
if ( inexactVerts != c3d_null )
|
||||
if ( inexactVerts != nullptr )
|
||||
inexactVerts->push_back( v );
|
||||
else
|
||||
break;
|
||||
@@ -480,12 +480,12 @@ bool CheckInexactEdges( const Edges & allEdges, double mAcc, Edges * inexactEdge
|
||||
bool isInexactEdge = false;
|
||||
|
||||
for ( size_t i = 0, icnt = allEdges.size(); i < icnt; ++i ) {
|
||||
if ( allEdges[i] != c3d_null) {
|
||||
if ( allEdges[i] != nullptr) {
|
||||
bool isSpaceNear = !::IsInexactEdge( *allEdges[i], mAcc );
|
||||
|
||||
if ( !isSpaceNear ) {
|
||||
isInexactEdge = true;
|
||||
if ( inexactEdges != c3d_null )
|
||||
if ( inexactEdges != nullptr )
|
||||
inexactEdges->push_back( allEdges[i] );
|
||||
else
|
||||
break;
|
||||
@@ -498,7 +498,7 @@ bool CheckInexactEdges( const Edges & allEdges, double mAcc, Edges * inexactEdge
|
||||
double mLen = allEdges[i]->GetLengthEvaluation();
|
||||
if ( mLen > METRIC_PRECISION && mLen > mTol + METRIC_PRECISION ) {
|
||||
isInexactEdge = true;
|
||||
if ( inexactEdges != c3d_null )
|
||||
if ( inexactEdges != nullptr )
|
||||
inexactEdges->push_back( allEdges[i] );
|
||||
else
|
||||
break;
|
||||
@@ -707,6 +707,36 @@ MATH_FUNC (bool) FindLoopsSelfIntersections( const MbFace & face, const MbSNameM
|
||||
MATH_FUNC (bool) CheckFacesConnection( const RPArray<MbFace> & faces );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Проверка связности граней faces.
|
||||
\en Check for connectivity of faces 'faces'. \~
|
||||
\details \ru Проверка топологической связности граней faces. \n
|
||||
\en Check for topological connectivity of faces 'faces'. \n \~
|
||||
\param[in] faces - \ru Проверяемый набор граней.
|
||||
\en Set of faces under check. \~
|
||||
\return \ru Возвращает true, все грани топологически связаны.
|
||||
\en Returns true if all the faces are topologically connected. \~
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
//---
|
||||
MATH_FUNC (bool) CheckFacesConnection( const c3d::FacesVector & faces );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Проверка связности граней faces.
|
||||
\en Check for connectivity of faces 'faces'. \~
|
||||
\details \ru Проверка топологической связности граней faces. \n
|
||||
\en Check for topological connectivity of faces 'faces'. \n \~
|
||||
\param[in] faces - \ru Проверяемый набор граней.
|
||||
\en Set of faces under check. \~
|
||||
\return \ru Возвращает true, все грани топологически связаны.
|
||||
\en Returns true if all the faces are topologically connected. \~
|
||||
\ingroup Algorithms_3D
|
||||
*/
|
||||
//---
|
||||
MATH_FUNC (bool) CheckFacesConnection( const c3d::ConstFacesVector & faces );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Найти в исходной оболочке "родительские" грани производной оболочки.
|
||||
\en Find "parent" faces of a derived shell in the initial shell. \~
|
||||
|
||||
+15
-13
@@ -15,11 +15,13 @@
|
||||
#include <mb_cube.h>
|
||||
#include <mesh_triangle.h>
|
||||
#include <model_item.h>
|
||||
#include <templ_dptr.h>
|
||||
#include <vector>
|
||||
|
||||
|
||||
class MATH_CLASS MbMesh;
|
||||
class MATH_CLASS MbGrid;
|
||||
class MbGridTopology;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -62,7 +64,8 @@ private:
|
||||
\details \ru Габаритный куб объекта рассчитывается только при запросе габарита объекта. Габаритный куб в конструкторе объекта и после модификации объекта принимает неопределенное значение.
|
||||
\en Bounding box of object is calculated only at the request. Bounding box of object is undefined after object constructor and after object modifications \n \~
|
||||
*/
|
||||
mutable MbCube cube;
|
||||
mutable MbCube cube;
|
||||
mutable DPtr<MbGridTopology> topo; ///< \ru Дополнительная информация о топологии коллекции. \en Additional information about a topology of the collection.
|
||||
private:
|
||||
// \ru Объявление конструктора копирования без реализации, чтобы не было копирования по умолчанию. \en The copy constructor without implementation prevents from copying by default.
|
||||
MbCollection( const MbCollection & init );
|
||||
@@ -84,10 +87,10 @@ public:
|
||||
// \ru Общие функции геометрического объекта \en Common functions of a geometric object
|
||||
virtual MbeSpaceType IsA() const; // \ru Тип объекта. \en A type of an object.
|
||||
virtual MbeSpaceType Type() const; // \ru Групповой тип объекта. \en Group type of object.
|
||||
virtual MbSpaceItem & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать согласно матрице. \en Transform according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвинуть вдоль вектора. \en Translate along a vector.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual MbSpaceItem & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Создать копию. \en Create a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать согласно матрице. \en Transform according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвинуть вдоль вектора. \en Translate along a vector.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual bool IsSame ( const MbSpaceItem & init, double accuracy = LENGTH_EPSILON ) const; // \ru Являются ли объекты равными? \en Are the objects equal?
|
||||
virtual bool SetEqual ( const MbSpaceItem & init ); // \ru Сделать объекты равным. \en Make the objects equal.
|
||||
virtual double DistanceToPoint ( const MbCartPoint3D & ) const; // \ru Вычислить расстояние до точки. \en Calculate the distance to a point.
|
||||
@@ -184,9 +187,7 @@ public:
|
||||
|
||||
/// \ru Удалить точки. \en Delete points.
|
||||
void PointsRemove() { points.clear();
|
||||
#ifdef C3D_STANDARD_CXX_11_PARTIAL
|
||||
points.shrink_to_fit();
|
||||
#endif
|
||||
points.shrink_to_fit();
|
||||
cube.SetEmpty(); }
|
||||
/// \ru Удалить точку с заданным номером. \en Delete point by the given index.
|
||||
void PointRemove ( size_t i ) { if ( i < points.size() ) points.erase( points.begin() + i ); cube.SetEmpty(); }
|
||||
@@ -282,17 +283,13 @@ public:
|
||||
/// \ru Удалить всю триангуляцию и освободить память. \en Delete all triangulation and free the memory.
|
||||
void HardFlush() { points.clear(); normals.clear(); escorts.clear();
|
||||
triangles.clear(); quadrangles.clear(); elements.clear(); segments.clear(); //grids.clear();
|
||||
#ifdef C3D_STANDARD_CXX_11_PARTIAL
|
||||
points.shrink_to_fit(); normals.shrink_to_fit(); escorts.shrink_to_fit();
|
||||
triangles.shrink_to_fit(); quadrangles.shrink_to_fit(); elements.shrink_to_fit(); segments.shrink_to_fit(); //grids.shrink_to_fit();
|
||||
#endif
|
||||
cube.SetEmpty(); }
|
||||
/// \ru Освободить лишнюю память. \en Free the unnecessary memory.
|
||||
void Adjust() {
|
||||
#ifdef C3D_STANDARD_CXX_11_PARTIAL
|
||||
points.shrink_to_fit(); normals.shrink_to_fit(); escorts.shrink_to_fit();
|
||||
triangles.shrink_to_fit(); quadrangles.shrink_to_fit(); elements.shrink_to_fit(); segments.shrink_to_fit(); //grids.shrink_to_fit();
|
||||
#endif
|
||||
}
|
||||
|
||||
/// \ru Инициализировать объект. \en Initialize object.
|
||||
@@ -323,7 +320,12 @@ public:
|
||||
void ConvertAllToTriangles();
|
||||
/// \ru Удалить дублирующие с заданной точностью друг друга точки. \en Remove redundant points with a given tolerance (duplicates).
|
||||
bool RemoveRedundantPoints( bool deleteNormals, double epsilon = LENGTH_EPSILON );
|
||||
|
||||
/// \ru Готова ли топология коллекции. \en Whether information about collection topology is ready.
|
||||
bool IsGridTopologyReady() const { return topo != nullptr; }
|
||||
/// \ru Создать новый временный объект информации о топологии. \en Create new temporary maintenance object information about collection topology.
|
||||
const MbGridTopology * CreateGridTopology( bool keepExisting ) const;
|
||||
/// \ru Удалить информацию о топологии. \en Delete a information about collection topology.
|
||||
void ResetGridTopology() const;
|
||||
/** \} */
|
||||
private:
|
||||
/// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
|
||||
@@ -56,8 +56,8 @@ public:
|
||||
public:
|
||||
MtGeomArgument( const MbRefItem * p, const MbItem * h );
|
||||
MtGeomArgument( const MtGeomArgument & );
|
||||
MtGeomArgument() : propItem( c3d_null ), propName( c3d::UNDEFINED_SNAME )
|
||||
, hash( c3d::UNDEFINED_SNAME ), item( c3d_null ), root( c3d_null ) {}
|
||||
MtGeomArgument() : propItem( nullptr ), propName( c3d::UNDEFINED_SNAME )
|
||||
, hash( c3d::UNDEFINED_SNAME ), item( nullptr ), root( nullptr ) {}
|
||||
|
||||
public:
|
||||
/** \brief \ru Получить непосредственный объект сборки, содержащий ссылочный объект.
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
|
||||
public:
|
||||
/// \ru Возвращает true, если ограничение не действительно. \en Return true if the constraint is invalid.
|
||||
bool IsNull() const { return m_cItem == c3d_null; }
|
||||
bool IsNull() const { return m_cItem == nullptr; }
|
||||
/// \ru Тип сопряжения (геометрического ограничения). \en Type of geometric constraint.
|
||||
MtMateType ConstraintType() const;
|
||||
/// \ru Текущее значение размера. \en Current value of the dimension.
|
||||
@@ -193,7 +193,7 @@ public:
|
||||
virtual void EvaluationFailed( const MbAssembly * ) const {}
|
||||
/// \ru Геометрический решатель нашел новую позицию под-объекта сборки. \en The geometric solver found a new position of a constrained sub-object belonging the assembly.
|
||||
virtual void PositionChanged( const MbAssembly *, const MbItem * /*subItem*/ ) const {}
|
||||
|
||||
|
||||
protected:
|
||||
~ItAssemblyReactor() {}
|
||||
}; // ItAssemblyReactor
|
||||
|
||||
+387
-16
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <templ_p_array.h>
|
||||
#include <cur_contour.h>
|
||||
#include <curve.h> // for PlaneCurveSPtr
|
||||
|
||||
|
||||
class MATH_CLASS MpEdge;
|
||||
@@ -38,8 +39,8 @@ public:
|
||||
/// \ru Конструктор по точке. \en Constructor by point.
|
||||
MpVertex( const MbCartPoint & initP )
|
||||
: point( initP )
|
||||
, begEdge( c3d_null )
|
||||
, endEdge( c3d_null )
|
||||
, begEdge( nullptr )
|
||||
, endEdge( nullptr )
|
||||
{}
|
||||
|
||||
/// \ru Деструктор. \en Destructor.
|
||||
@@ -513,8 +514,9 @@ public:
|
||||
\param[out] usedCurves - \ru Результат - использованные кривые.
|
||||
\en The result are the used curves. \~
|
||||
*/
|
||||
void GetUsedCurves( const RPArray<MbCurve> & curveList, RPArray<MbCurve> & usedCurves );
|
||||
|
||||
template<class CurvesArray, class CurvesArray2>
|
||||
void GetUsedCurves( const CurvesArray & curveList, CurvesArray2 & usedCurves );
|
||||
|
||||
/** \brief \ru Ориентация цикла по индексу.
|
||||
\en The orientation of a loop by its index. \~
|
||||
\details \ru Ориентация цикла по индексу без проверки индекса.\n
|
||||
@@ -557,7 +559,8 @@ public:
|
||||
\param[in] curvesNames - \ru Имена кривых.
|
||||
\en Curves names. \n \~
|
||||
*/
|
||||
void SetAllName( const RPArray<MbCurve> & curveList, MpGraph * g, std::map<const MbCurve *, ptrdiff_t> & curvesNames );
|
||||
template<class CurvesArray>
|
||||
void SetAllName( const CurvesArray & curveList, MpGraph * g, std::map<const MbCurve *, ptrdiff_t> & curvesNames );
|
||||
|
||||
/** \brief \ru Дать имена ребрам.
|
||||
\en Give names to edges. \~
|
||||
@@ -568,8 +571,9 @@ public:
|
||||
\param[in] curvesNames - \ru Имена кривых.
|
||||
\en Curves names. \n \~
|
||||
*/
|
||||
void SetEdgeName( const RPArray<MbCurve> & curveList, std::map<const MbCurve *, ptrdiff_t> & curvesNames );
|
||||
|
||||
template<class CurvesArray>
|
||||
void SetEdgeName( const CurvesArray & curveList, std::map<const MbCurve *, ptrdiff_t> & curvesNames );
|
||||
|
||||
/** \brief \ru Определить ориентацию контуров.
|
||||
\en Determine the contours' orientation. \~
|
||||
\details \ru Определить ориентацию контуров по их вложенности.\n
|
||||
@@ -577,8 +581,9 @@ public:
|
||||
\param[in] contourArray - \ru Список контуров, по которым строился граф.
|
||||
\en List of contours the graph is built for. \~
|
||||
*/
|
||||
void SetLoopsOrientation( const RPArray<MbContour> & contourArray );
|
||||
|
||||
template<class ContourArray>
|
||||
void SetLoopsOrientation( const ContourArray & contourArray );
|
||||
|
||||
/** \brief \ru Перевести параметры ребер в параметры кривых.
|
||||
\en Convert edges' parameters to curves' parameters. \~
|
||||
\details \ru Перевести параметры ребер в параметры кривых,
|
||||
@@ -727,6 +732,254 @@ private:
|
||||
|
||||
IMPL_PERSISTENT_OPS( MpGraph )
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Запомнить неиспользованные ребра.
|
||||
\en Store unused edges. \~
|
||||
\details \ru Запомнить неиспользованные ребра, установив им имена.\n
|
||||
\en Store unused edges giving names for them.\n \~
|
||||
\param[in] curveList - \ru Список неиспользованных кривых для установки имен.
|
||||
\en The list of unused curves for setting the names. \~
|
||||
\param[in] g - \ru Граф для поиска неиспользованных ребер.\n
|
||||
Если в нем или в его массиве неиспользованных ребер
|
||||
нашлось ребро с именем неиспользованной кривой,
|
||||
то оно запоминается в массиве неиспользованных ребер unusedEdges.\n
|
||||
\en Graph for searching unused edges.\n
|
||||
If there is an edge by the names of an unused curve
|
||||
in the graph or its array of unused edges,
|
||||
then it is stored in the array of unused edges unusedEdges.\n \~
|
||||
\param[in] curvesNames - \ru Имена кривых.
|
||||
\en Curves names. \n \~
|
||||
*/
|
||||
// ---
|
||||
template<class CurvesArray>
|
||||
void MpGraph::SetAllName( const CurvesArray & curveList, MpGraph * g, std::map<const MbCurve *, ptrdiff_t> & curvesNames )
|
||||
{
|
||||
ptrdiff_t i, j, j0, k;
|
||||
MpLoop * loop = nullptr;
|
||||
MpEdge * edge = nullptr;
|
||||
bool s;
|
||||
|
||||
unusedEdges.Flush();
|
||||
nameCount = curveList.size();
|
||||
|
||||
// Сначала именуются ребра.
|
||||
for ( i = 0; i < (ptrdiff_t)loops.Count(); i++ ) {
|
||||
loop = GetLoop( i );
|
||||
for ( k = 0; k < (ptrdiff_t)loop->GetEdgesCount(); k++ ) {
|
||||
edge = loop->GetEdge( k );
|
||||
ptrdiff_t curveName = curvesNames[edge->GetCurve()]; // Это имя может быть у исходной кривой и у измененной в обработке наложений.
|
||||
if ( curveName >= 0 && curveName <= nameCount ) {
|
||||
edge->SetName( curveName );
|
||||
edge->SetCurve( nullptr );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Теперь ищутся неиспользованные ребра.
|
||||
for ( j = 0; j < nameCount; j++ ) {
|
||||
j0 = -1;
|
||||
|
||||
for ( i = 0; i < (ptrdiff_t)loops.Count(); i++ ) {
|
||||
loop = GetLoop( i );
|
||||
for ( k = 0; k < (ptrdiff_t)loop->GetEdgesCount(); k++ ) {
|
||||
edge = loop->GetEdge( k );
|
||||
if ( edge->GetName() == j )
|
||||
j0 = 1; // Нашли кривую в новом графе.
|
||||
// if ( curve0==edge->GetCurve() ) {
|
||||
// edge->SetName( j );
|
||||
// edge->SetCurve( nullptr );
|
||||
// j0 = 1;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
if ( j0 < 0 && g != nullptr ) { // Этой кривой нет в новом графе this. Ищем ее в старом графе g.
|
||||
for ( i = 0; i < (ptrdiff_t)g->loops.Count(); i++ ) {
|
||||
loop = g->GetLoop( i );
|
||||
|
||||
for ( k = 0; k < (ptrdiff_t)loop->GetEdgesCount(); k++ ) {
|
||||
edge = loop->GetEdge( k );
|
||||
|
||||
if ( j == edge->GetName() ) { // Это ребро построено на кривой curveList[j].
|
||||
s = edge->GetSense();
|
||||
if ( loop->GetMode() < 0 )
|
||||
s = !s;
|
||||
|
||||
unusedEdges.Add( new MpEdge( edge->GetTBeg(), edge->GetTEnd(), s, j, edge->GetType() ) );
|
||||
j0 = 1;
|
||||
i = g->loops.Count();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( j0 < 0 && g != nullptr ) { // Если не нашли, ищем в неиспользованных ребрах.
|
||||
for ( k = 0; k < (ptrdiff_t)g->unusedEdges.Count(); k++ ) {
|
||||
edge = g->unusedEdges[k];
|
||||
if ( j == edge->GetName() ) {
|
||||
s = edge->GetSense();
|
||||
unusedEdges.Add( new MpEdge( edge->GetTBeg(), edge->GetTEnd(), s, j, edge->GetType() ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Дать имена ребрам.
|
||||
\en Give names to edges. \~
|
||||
\details \ru Дать имена ребрам по списку кривых.\n
|
||||
\en Give names to edges by the list of curves.\n \~
|
||||
\param[in] curveList - \ru Список кривых для именования.
|
||||
\en The list of curves for naming. \~
|
||||
\param[in] curvesNames - \ru Имена кривых.
|
||||
\en Curves names. \n \~
|
||||
*/
|
||||
// ---
|
||||
template<class CurvesArray>
|
||||
void MpGraph::SetEdgeName( const CurvesArray & curveList, std::map<const MbCurve *, ptrdiff_t> & curvesNames )
|
||||
{
|
||||
// Именование ребер номерами кривых.
|
||||
nameCount = curveList.size();
|
||||
|
||||
// for ( ptrdiff_t j = 0; j < nameCount; j++ ) {
|
||||
// MbCurve *curve0 = curveList[j];
|
||||
//
|
||||
// for ( ptrdiff_t i = 0; i < (ptrdiff_t)loops.Count(); i++ ) {
|
||||
// MpLoop *loop = GetLoop( i );
|
||||
//
|
||||
// for( ptrdiff_t k = 0; k < (ptrdiff_t)loop->edgeList.Count(); k++ ) {
|
||||
// MpEdge *edge = loop->edgeList[k];
|
||||
//
|
||||
// if ( curve0==edge->GetCurve() ) {
|
||||
// edge->SetName( j );
|
||||
// edge->baseCurve = nullptr;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
for ( ptrdiff_t i = 0; i < (ptrdiff_t)loops.Count(); i++ ) {
|
||||
MpLoop * loop = GetLoop( i );
|
||||
|
||||
for ( ptrdiff_t k = 0; k < (ptrdiff_t)loop->GetEdgesCount(); k++ ) {
|
||||
MpEdge * edge = loop->GetEdge( k );
|
||||
|
||||
ptrdiff_t curveName = curvesNames[edge->GetCurve()];
|
||||
|
||||
if ( curveName >= 0 && curveName <= nameCount ) {
|
||||
edge->SetName( curveName );
|
||||
edge->SetCurve( nullptr );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Выдать использованные кривые.
|
||||
\en Get used curves. \~
|
||||
\details \ru Выдать использованные кривые и переименовать в соответствии с последними.\n
|
||||
\en Get used curves and rename in compliance with the last ones.\n \~
|
||||
\param[in] curveList - \ru Набор кривых.
|
||||
\en Set of curves. \~
|
||||
\param[out] usedCurves - \ru Результат - использованные кривые.
|
||||
\en The result are the used curves. \~
|
||||
*/
|
||||
// ---
|
||||
template<class CurvesArray, class CurvesArray2>
|
||||
void MpGraph::GetUsedCurves( const CurvesArray & curveList, CurvesArray2 & usedCurves )
|
||||
{
|
||||
SArray<ptrdiff_t> curveName( 0, 1 );
|
||||
GetEdgeName( curveName );
|
||||
|
||||
usedCurves.reserve( curveName.Count() );
|
||||
for ( ptrdiff_t j = 0; j < (ptrdiff_t)curveName.Count(); j++ ) {
|
||||
ptrdiff_t n = curveName[j];
|
||||
if ( n < 0 || n >( ptrdiff_t )curveList.size() - 1 )
|
||||
continue;
|
||||
usedCurves.push_back( curveList[n] );
|
||||
|
||||
for ( ptrdiff_t i = 0; i < (ptrdiff_t)loops.Count(); i++ ) {
|
||||
MpLoop * loop = GetLoop( i );
|
||||
|
||||
for ( ptrdiff_t k = 0; k < (ptrdiff_t)loop->GetEdgesCount(); k++ )
|
||||
if ( loop->GetEdge( k )->GetName() == n )
|
||||
loop->GetEdge( k )->SetName( j );
|
||||
}
|
||||
}
|
||||
|
||||
nameCount = curveName.Count();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Определить ориентацию контуров.
|
||||
\en Determine the contours' orientation. \~
|
||||
\details \ru Определить ориентацию контуров по их вложенности.\n
|
||||
\en Determine the contours' orientation by its inclusion.\n \~
|
||||
\param[in] contourArray - \ru Список контуров, по которым строился граф.
|
||||
\en List of contours the graph is built for. \~
|
||||
*/
|
||||
// ---
|
||||
template<class ContourArray>
|
||||
void MpGraph::SetLoopsOrientation( const ContourArray & contourArray )
|
||||
{
|
||||
ptrdiff_t count = loops.Count();
|
||||
ptrdiff_t cnt = contourArray.size();
|
||||
|
||||
cnt -= count;
|
||||
if ( cnt < 0 || count == 0 )
|
||||
return;
|
||||
|
||||
double t;
|
||||
MbContour * contour = nullptr;
|
||||
MbContour * contour0 = nullptr;
|
||||
MbCartPoint p, p1;
|
||||
ptrdiff_t i, j;
|
||||
MbeLocation loc, loc1;
|
||||
const double kk = M_E / 8;
|
||||
|
||||
SArray<ptrdiff_t> numb( count, 2 );
|
||||
for ( i = 0; i < count; i++ ) {
|
||||
numb.Add( 0 );
|
||||
contour = contourArray[cnt + i];
|
||||
double tmin = contour->GetTMin();
|
||||
double tmax = contour->GetTMax();
|
||||
double dt = kk * ( tmax - tmin );
|
||||
|
||||
// Лучше брать иррациональный параметр BUG_24550 // t = contour->GetTMin();
|
||||
t = tmin + dt;
|
||||
contour->PointOn( t, p );
|
||||
// Лучше брать иррациональный параметр BUG_24550 // t = (t+contour->GetTMax())*0.5;
|
||||
t = tmax - dt;
|
||||
contour->PointOn( t, p1 );
|
||||
|
||||
for ( j = 0; j < count; j++ ) {
|
||||
if ( i == j )
|
||||
continue;
|
||||
contour0 = contourArray[cnt + j];
|
||||
loc = contour0->PointLocation( p );
|
||||
if ( loc == loc_Inside )
|
||||
numb[i] = numb[i] + 1;
|
||||
else {
|
||||
if ( loc == loc_OnCurve ) {
|
||||
loc1 = contour0->PointLocation( p1 );
|
||||
if ( loc1 == loc_Inside )
|
||||
numb[i] = numb[i] + 1;
|
||||
else if ( loc1 == loc_OnCurve && i < j )
|
||||
numb[i] = numb[i] + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for ( i = 0; i < count; i++ )
|
||||
loops[i]->SetOrientation( numb[i] % 2 == 0 );
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Удалить вершину.
|
||||
\en Delete a vertex. \~
|
||||
@@ -737,7 +990,7 @@ IMPL_PERSISTENT_OPS( MpGraph )
|
||||
*/ // ---
|
||||
inline void DeleteVertex( MpVertex *& vertex ) {
|
||||
delete vertex;
|
||||
vertex = c3d_null;
|
||||
vertex = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -751,7 +1004,7 @@ inline void DeleteVertex( MpVertex *& vertex ) {
|
||||
*/ // ---
|
||||
inline void DeleteEdge( MpEdge *& edge ) {
|
||||
delete edge;
|
||||
edge = c3d_null;
|
||||
edge = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -765,7 +1018,7 @@ inline void DeleteEdge( MpEdge *& edge ) {
|
||||
*/ // ---
|
||||
inline void DeleteLoop( MpLoop *& loop ) {
|
||||
delete loop;
|
||||
loop = c3d_null;
|
||||
loop = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -779,7 +1032,7 @@ inline void DeleteLoop( MpLoop *& loop ) {
|
||||
*/ // ---
|
||||
inline void DeleteGraph( MpGraph *& graph ) {
|
||||
delete graph;
|
||||
graph = c3d_null;
|
||||
graph = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -848,7 +1101,50 @@ MATH_FUNC (MpGraph *) EncloseContoursBuilder( const RPArray<MbCurve> & curveLi
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = c3d_null );
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Построить контуры вокруг заданной точки.
|
||||
\en Create contours around the given point. \~
|
||||
\details \ru Построить контуры вокруг заданной точки.
|
||||
Строится один внешний и несколько внутренних контуров с одним уровнем вложенности.
|
||||
На вход не должны приходить составные кривые (контуры и ломаные).
|
||||
\en Create contours around the given point.
|
||||
One outer and several inner loops are constructed with single nesting level.
|
||||
Do not send composite curves (contours and polygons). Lay them on the components. \~
|
||||
\param[in] curveList - \ru Список кривых для построения.
|
||||
\en List of curves for construction. \~
|
||||
\param[in] p - \ru Точка, вокруг которой строятся контуры.
|
||||
\en A point the contours are constructed around. \~
|
||||
\param[out] usedCurves - \ru Использованные кривые.
|
||||
\en Used curves. \~
|
||||
\param[out] contourArray - \ru Результат построения - набор контуров.
|
||||
\en The result of construction is a set of contours. \~
|
||||
\param[in] accuracy - \ru Погрешность определения пересечения и близости кривых.
|
||||
\en The accuracy of determining the intersection of curves and proximity. \~
|
||||
\param[in] strict - \ru Если false, сборка производится с загрубленной точностью.
|
||||
\en If false, the construction is performed roughly. \~
|
||||
\param[in] version - \ru Версия построения. Последняя версия Math::DefaultMathVersion().
|
||||
\en The version of construction. The last version Math::DefaultMathVersion(). \~
|
||||
\param[in] progInd - \ru Индикатора прогресса выполнения.
|
||||
\en Execution progress indicator. \~
|
||||
\return \ru Граф построения контуров.
|
||||
\en Contours construction graph. \~
|
||||
\warning \ru При использовании функций EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor
|
||||
состояние флага strict и версия version должно использоваться одно в одном процессе обработки.
|
||||
\en While using functions EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor,
|
||||
a single state of 'strict' flag and version must be used in one treatment process. \~
|
||||
\ingroup Algorithms_2D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MpGraph *) EncloseContoursBuilder( const c3d::PlaneCurvesSPtrVector & curveList,
|
||||
const MbCartPoint & p,
|
||||
c3d::PlaneCurvesSPtrVector & usedCurves,
|
||||
c3d::PlaneContoursSPtrVector & contourArray,
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -886,7 +1182,44 @@ MATH_FUNC (MpGraph *) OuterContoursBuilder( const RPArray<MbCurve> & curveList,
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = c3d_null );
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Построить объемлющие контуры на основе заданных кривых.
|
||||
\en Construct enclosing contours on the basis of the given curves. \~
|
||||
\details \ru Построить объемлющие контуры на основе заданных кривых.
|
||||
Строятся внешние и внутренние контуры с произвольным уровнем вложенности.
|
||||
На вход не должны приходить составные кривые (контуры и ломаные).
|
||||
\en Construct enclosing contours on the basis of the given curves.
|
||||
Outer and inner loops are constructed with an arbitrary level of inclusion.
|
||||
Do not send composite curves (contours and polygons). Lay them on the components. \~
|
||||
\param[in] curveList - \ru Список кривых для построения.
|
||||
\en List of curves for construction. \~
|
||||
\param[out] contourArray - \ru Результат построения - набор контуров.
|
||||
\en The result of construction is a set of contours. \~
|
||||
\param[in] accuracy - \ru Погрешность определения пересечения и близости кривых.
|
||||
\en The accuracy of determining the intersection of curves and proximity. \~
|
||||
\param[in] strict - \ru Если false, сборка производится с загрубленной точностью.
|
||||
\en If false, the construction is performed roughly. \~
|
||||
\param[in] version - \ru Версия построения. Последняя версия Math::DefaultMathVersion().
|
||||
\en The version of construction. The last version Math::DefaultMathVersion(). \~
|
||||
\param[in] progInd - \ru Индикатора прогресса выполнения.
|
||||
\en Execution progress indicator. \~
|
||||
\return \ru Граф построения контуров.
|
||||
\en Contours construction graph. \~
|
||||
\warning \ru При использовании функций EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor
|
||||
состояние флага strict и версия version должно использоваться одно в одном процессе обработки.
|
||||
\en While using functions EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor,
|
||||
a single state of 'strict' flag and version must be used in one treatment process. \~
|
||||
\ingroup Algorithms_2D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC( MpGraph * ) OuterContoursBuilder( const c3d::PlaneCurvesSPtrVector & curveList,
|
||||
c3d::PlaneContoursSPtrVector & contourArray,
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Перестроить контуры, построенные ранее вокруг точки.
|
||||
@@ -924,7 +1257,45 @@ MATH_FUNC (MpGraph *) ContoursReconstructor( const RPArray<MbCurve> & curveLis
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = c3d_null );
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Перестроить контуры, построенные ранее вокруг точки.
|
||||
\en Reconstruct contours constructed around the point before. \~
|
||||
\details \ru Перестроить контуры, построенные ранее вокруг точки.
|
||||
Функция перестраивает граф, построенный функцией EncloseContoursBuilder.
|
||||
\en Reconstruct contours constructed around the point before.
|
||||
The function reconstructs the graph constructed by EncloseContoursBuilder function. \~
|
||||
\param[in] curveList - \ru Список кривых для построения.
|
||||
\en List of curves for construction. \~
|
||||
\param[in] graph - \ru Граф для перестроения.
|
||||
\en A graph to reconstruct. \~
|
||||
\param[out] contourArray - \ru Результат построения - набор контуров.
|
||||
\en The result of construction is a set of contours. \~
|
||||
\param[in] accuracy - \ru Погрешность определения пересечения и близости кривых.
|
||||
\en The accuracy of determining the intersection of curves and proximity. \~
|
||||
\param[in] strict - \ru Если false, сборка производится с загрубленной точностью.
|
||||
\en If false, the construction is performed roughly. \~
|
||||
\param[in] version - \ru Версия построения. Последняя версия Math::DefaultMathVersion().
|
||||
\en The version of construction. The last version Math::DefaultMathVersion(). \~
|
||||
\param[in] progInd - \ru Индикатора прогресса выполнения.
|
||||
\en Execution progress indicator. \~
|
||||
\return \ru Граф построения контуров.
|
||||
\en Contours construction graph. \~
|
||||
\warning \ru При использовании функций EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor
|
||||
состояние флага strict и версия version должно использоваться одно в одном процессе обработки.
|
||||
\en While using functions EncloseContoursBuilder, OuterContoursBuilder, ContoursReconstructor,
|
||||
a single state of 'strict' flag and version must be used in one treatment process. \~
|
||||
\ingroup Algorithms_2D
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC( MpGraph * ) ContoursReconstructor( const c3d::PlaneCurvesSPtrVector & curveList,
|
||||
MpGraph * graph,
|
||||
c3d::PlaneContoursSPtrVector contourArray,
|
||||
double accuracy,
|
||||
bool strict,
|
||||
VERSION version,
|
||||
IProgressIndicator * progInd = nullptr );
|
||||
|
||||
|
||||
#endif // __CONTOUR_GRAPH_H
|
||||
|
||||
@@ -573,7 +573,7 @@ public:
|
||||
/// \ru Задать диапазон. \en Set range.
|
||||
void SetRange( double vPlus, double vMinus );
|
||||
/// \ru Получить номинал. \en Get value.
|
||||
bool GetValue( double& v );
|
||||
bool GetValue( double& v ) const;
|
||||
/// \ru Получить границы диапазона и значение, если они заданы. \en Get bounds of range and a value if they are specified.
|
||||
bool GetRange( double& v, double& vPlus, double& vMinus ) const;
|
||||
/// \ru Получить границы диапазона, если они заданы. \en Get bounds of the range if they are specified.
|
||||
|
||||
@@ -36,6 +36,25 @@ class MbProductInfo;
|
||||
#define LENGTH_UNIT_INCH 25.4
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Константы единиц массы.
|
||||
\en Mass units constants.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
/// \ru Граммы. \en Grams.
|
||||
#define MASS_UNIT_GM 1.0
|
||||
/// \ru Килограммы. \en Kilograms.
|
||||
#define MASS_UNIT_KG 1000.0
|
||||
/// \ru Миллиграммы. \en Milligrams.
|
||||
#define MASS_UNIT_MG 0.001
|
||||
/// \ru Микрограммы. \en Micrograms.
|
||||
#define MASS_UNIT_MKG 1e-6
|
||||
/// \ru Унции. \en Ounces.
|
||||
#define MASS_UNIT_OU 28.35
|
||||
/// \ru Фунты. \en Pounds.
|
||||
#define MASS_UNIT_PN 453.59
|
||||
|
||||
|
||||
#define EXPORT_DEFAULT -1 ///< \ru По умолчанию для заданного формата. \en Default for specified format.
|
||||
#define EXPORT_STEP_203 203 ///< \ru STEP прикладной протокол 203 ( Проектирование с управляемой конфигурацией ). \en STEP applied protocol STEP 203 (Configuration controlled design).
|
||||
@@ -245,8 +264,9 @@ enum eMsgDetail {
|
||||
|
||||
emd_ErrorStringEncoding, ///< \ru Ошибка кодировки строки. \en String encoding error.
|
||||
|
||||
emd_WarningCurveParametrizationCorrected ///< \ru Исправлена параметризация кривой. \en Curve parameterization was corrected.
|
||||
emd_WarningCurveParametrizationCorrected, ///< \ru Исправлена параметризация кривой. \en Curve parameterization was corrected.
|
||||
|
||||
emd_ErrorJTDuplicatedTriangles ///< \ru Сетка содержит дублирующиеся треугольники и не может быть записана. \en Mesh contains duplicate triangles and cannot be written.
|
||||
};
|
||||
|
||||
|
||||
@@ -275,11 +295,15 @@ struct C3DConverterDebugSettings {
|
||||
*/
|
||||
bool saveModelTwin;
|
||||
|
||||
/// \ru Включить вывод статистики импортируемых объектов. \en Enable logging the statistic of imported objects.
|
||||
bool cerrOutImportStatistic;
|
||||
|
||||
/// \ru Конструктор. \en Conctuctor.
|
||||
C3DConverterDebugSettings()
|
||||
: enableCERRout(false)
|
||||
, cerrOutUserTreeTraverse(false)
|
||||
, cerrOutIntermediateTreeTraverse(false)
|
||||
: enableCERRout( false )
|
||||
, cerrOutUserTreeTraverse( false )
|
||||
, cerrOutIntermediateTreeTraverse( false )
|
||||
, cerrOutImportStatistic( false )
|
||||
, saveModelTwin( false ) {
|
||||
}
|
||||
};
|
||||
@@ -454,7 +478,7 @@ public:
|
||||
virtual bool AttatchIdAttributes() const { return true; }
|
||||
|
||||
/// \ru Получить пользовательский преобразователь строк. \en Get user string transformer.
|
||||
virtual SPtr<IC3DCharEncodingTransformer> GetUserCharEncodingTransformer() const { return SPtr<IC3DCharEncodingTransformer>(c3d_null); }
|
||||
virtual SPtr<IC3DCharEncodingTransformer> GetUserCharEncodingTransformer() const { return SPtr<IC3DCharEncodingTransformer>(nullptr); }
|
||||
|
||||
}; // IConvertorProperty3D
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
/** \brief \ru Прообраз новой интерфейсной функции - получить наполнение.
|
||||
\en Prototype of a new interface function - get the filling. \~
|
||||
*/
|
||||
virtual MbItem * GetContent() /*{ return c3d_null; }*/ = 0;
|
||||
virtual MbItem * GetContent() /*{ return nullptr; }*/ = 0;
|
||||
|
||||
/** \brief \ru Создать документ с новой сборкой при импорте.
|
||||
\en Create a document with a new assembly while importing. \~
|
||||
@@ -75,8 +75,8 @@ public:
|
||||
\en Assembly name. \~
|
||||
\param[in] solids - \ru Тела, добавляемые в сборку.
|
||||
\en Solids to add into the assembly. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelAssemblyPtr CreateAssembly( const c3d::ItemsSPtrVector & componentItems, const c3d::string_t& fileName ) = 0;
|
||||
|
||||
@@ -89,8 +89,8 @@ public:
|
||||
\en Solids to add into a part. \~
|
||||
\param[in] fileName - \ru Имя детали.
|
||||
\en A part name. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of the part if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of the part if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelPartPtr CreatePart( const c3d::ItemsSPtrVector & componentItems, const c3d::string_t& fileName ) = 0;
|
||||
|
||||
@@ -98,8 +98,8 @@ public:
|
||||
\en Get an assembly for export. \~
|
||||
\details \ru Увеличить счётчик ссылок результирующей сборки на 1.
|
||||
\en Increase the reference counter of the resultant assembly by 1. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelAssemblyPtr GetInstanceAssembly( ) = 0;
|
||||
|
||||
@@ -108,8 +108,8 @@ public:
|
||||
\en Get the detail for export. \~
|
||||
\details \ru Увеличить счётчик ссылок результирующей детали на 1.
|
||||
\en Increase the reference counter of the resultant part by 1. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of the part if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of the part if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelPartPtr GetInstancePart( ) = 0;
|
||||
|
||||
@@ -157,6 +157,9 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class MaAtributePostRemover;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Формирователь геометрического представления PMI.
|
||||
\en Generator of PMI's geometry shape. \~
|
||||
@@ -168,11 +171,14 @@ public:
|
||||
// ---
|
||||
class CONV_CLASS C3DPmiToItem : public MbRefItem {
|
||||
SPtr<C3DSymbolToItem> symToItem;
|
||||
MaAtributePostRemover* tempAttributeManager;
|
||||
public:
|
||||
C3DPmiToItem( SPtr<C3DSymbolToItem> = SPtr<C3DSymbolToItem>() );
|
||||
|
||||
virtual SPtr<MbItem> operator() ( const MaAnnotationItem* ) const;
|
||||
virtual SPtr<MaAnnotationItem> operator() ( const MbItem* ) const;
|
||||
|
||||
void AddPartItem( const MbItem& ); // Добавить элемент для установления связи PMI и элемента модели
|
||||
|
||||
virtual ~C3DPmiToItem();
|
||||
};
|
||||
@@ -341,8 +347,8 @@ public:
|
||||
\en LCS of the assembly in the parent's model. \~
|
||||
\param[in] fileName - \ru Имя сборки.
|
||||
\en Assembly name. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelAssemblyPtr CreateAssembly( const MbPlacement3D &place, const c3d::ItemsSPtrVector & componentItems, const c3d::string_t& fileName ) = 0;
|
||||
|
||||
@@ -356,23 +362,23 @@ public:
|
||||
\en Solids included in the part. \~
|
||||
\param[in] fileName - \ru Название детали.
|
||||
\en Solid's name. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of the part if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of the part if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelPartPtr CreatePart( const MbPlacement3D &place, const c3d::ItemsSPtrVector & componentItems, const c3d::string_t& fileName ) = 0;
|
||||
|
||||
/** \brief \ru Получить сборку для экспорта.
|
||||
\en Get an assembly for export. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр сборки, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of an assembly if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelAssemblyPtr GetInstanceAssembly( ) = 0;
|
||||
|
||||
|
||||
/** \brief \ru Получить деталь для экспорта.
|
||||
\en Get the detail for export. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, c3d_null в противном случае.
|
||||
\en Instance of the part if the operation succeeded, c3d_null - otherwise. \~
|
||||
\return \ru Экземпляр детали, если операция прошла успешно, nullptr в противном случае.
|
||||
\en Instance of the part if the operation succeeded, nullptr - otherwise. \~
|
||||
*/
|
||||
virtual ModelPartPtr GetInstancePart( ) = 0;
|
||||
|
||||
@@ -445,15 +451,15 @@ public:
|
||||
\en Get an empty interface of the insertion for creation of subassembly or a part while importing. \~
|
||||
\details \ru Увеличить счётчик ссылок на 1.
|
||||
\en Increase the reference counter by 1. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или c3d_null в противном случае.
|
||||
\en Interface of the instance if the operation succeeded and c3d_null otherwise. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или nullptr в противном случае.
|
||||
\en Interface of the instance if the operation succeeded and nullptr otherwise. \~
|
||||
*/
|
||||
virtual ModelInstancePtr PrepareInstance() = 0;
|
||||
|
||||
/** \brief \ru Получить интерфейс следующей вставки для создания подсборки или детали при экспорте.
|
||||
\en Get the interface of the next insertion for creation of a subassembly or a part while exporting. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или c3d_null в противном случае.
|
||||
\en Interface of the insertion if the operation succeeded and c3d_null otherwise. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или nullptr в противном случае.
|
||||
\en Interface of the insertion if the operation succeeded and nullptr otherwise. \~
|
||||
*/
|
||||
virtual ModelInstancePtr NextInstance( bool includeInvisible ) = 0;
|
||||
|
||||
@@ -524,15 +530,15 @@ public:
|
||||
\en Get an empty interface of the insertion for creation of subassembly or a part while importing. \~
|
||||
\details \ru Увеличить счётчик ссылок на 1.
|
||||
\en Increase the reference counter by 1. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или c3d_null в противном случае.
|
||||
\en Interface of the instance if the operation succeeded and c3d_null otherwise. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или nullptr в противном случае.
|
||||
\en Interface of the instance if the operation succeeded and nullptr otherwise. \~
|
||||
*/
|
||||
virtual ModelInstancePtr PrepareInstance() = 0;
|
||||
|
||||
/** \brief \ru Получить интерфейс следующей вставки для создания подсборки или детали при экспорте.
|
||||
\en Get the interface of the next insertion for creation of a subassembly or a part while exporting. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или c3d_null в противном случае.
|
||||
\en Interface of the insertion if the operation succeeded and c3d_null otherwise. \~
|
||||
\return \ru Интерфейс вставки, если операция прошла успешно или nullptr в противном случае.
|
||||
\en Interface of the insertion if the operation succeeded and nullptr otherwise. \~
|
||||
*/
|
||||
virtual ModelInstancePtr NextInstance( bool includeInvisible ) = 0;
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ class IScaleRequestor;
|
||||
class ItModelDocument;
|
||||
class IConvertorProperty3D;
|
||||
class IConfigurationSelector;
|
||||
class IAttributeNamesCollector;
|
||||
|
||||
/**
|
||||
\addtogroup Exchange_Interface
|
||||
@@ -102,8 +103,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ImportFromFile( MbModel& model,
|
||||
const path_string& fileName,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
|
||||
/** \brief \ru Прочитать файл обменного формата в элемент.
|
||||
@@ -126,8 +127,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ImportFromFile( c3d::ItemSPtr& item,
|
||||
const path_string& filePath,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Прочитать файл обменного формата в модель.
|
||||
\en Read a file of an exchange format into model. \~
|
||||
@@ -149,8 +150,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ImportFromFile( ItModelDocument& mDoc,
|
||||
const path_string& filePath,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Записать модель в файл обменного формата.
|
||||
\en Write the model into an exchange format file. \~
|
||||
@@ -172,8 +173,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoFile( MbModel& model,
|
||||
const path_string& filePath,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Записать модель в файл обменного формата.
|
||||
\en Write the model into an exchange format file. \~
|
||||
@@ -195,8 +196,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoFile( MbItem& item,
|
||||
const path_string& filePath,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Записать модельный документ в файл обменного формата.
|
||||
\en Write the model into an exchange format file. \~
|
||||
@@ -218,8 +219,8 @@ namespace c3d {
|
||||
*/
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoFile( ItModelDocument& mDoc,
|
||||
const path_string& filePath,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
|
||||
/** \brief \ru Импортировать данные из буфера в модель.
|
||||
@@ -241,8 +242,8 @@ namespace c3d {
|
||||
CONV_FUNC( MbeConvResType ) ImportFromBuffer( MbModel& model,
|
||||
const C3DExchangeBuffer& buffer,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
|
||||
/** \brief \ru Импортировать данные из буфера в модель.
|
||||
@@ -264,8 +265,8 @@ namespace c3d {
|
||||
CONV_FUNC( MbeConvResType ) ImportFromBuffer( c3d::ItemSPtr& item,
|
||||
const C3DExchangeBuffer& buffer,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
|
||||
/** \brief \ru Экспортировать модель в буфер.
|
||||
@@ -287,8 +288,8 @@ namespace c3d {
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoBuffer( MbModel& model,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
C3DExchangeBuffer& buffer,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
|
||||
/** \brief \ru Экспортировать модель в буфер.
|
||||
@@ -310,8 +311,8 @@ namespace c3d {
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoBuffer( MbItem& item,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
C3DExchangeBuffer& buffer,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Экспортировать модельный документ в буфер.
|
||||
\en Export model document into buffer. \~
|
||||
@@ -332,8 +333,8 @@ namespace c3d {
|
||||
CONV_FUNC( MbeConvResType ) ExportIntoBuffer( ItModelDocument& item,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
C3DExchangeBuffer& buffer,
|
||||
IConvertorProperty3D* prop = c3d_null,
|
||||
IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr,
|
||||
IProgressIndicator* indicator = nullptr );
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Буфер для обмена.
|
||||
@@ -349,7 +350,7 @@ namespace c3d {
|
||||
|
||||
// \ru Конструктор. \en Constructor.
|
||||
C3DExchangeBuffer()
|
||||
: data( c3d_null )
|
||||
: data( nullptr )
|
||||
, count( 0 ) {
|
||||
}
|
||||
|
||||
@@ -416,10 +417,10 @@ public:
|
||||
\en Implementation of converter's properties interface. \~
|
||||
\param[in] idoc - \ru Реализация интерфейса документа.
|
||||
\en Implementation of document interface. \~
|
||||
\param[in] stream - \ru Поток, из которого производится чтение (может быть c3d_null).
|
||||
\en Stream from which reading is performed (can be c3d_null). \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть c3d_null).
|
||||
\en The process progress indicator (can be c3d_null). \~
|
||||
\param[in] stream - \ru Поток, из которого производится чтение (может быть nullptr).
|
||||
\en Stream from which reading is performed (can be nullptr). \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть nullptr).
|
||||
\en The process progress indicator (can be nullptr). \~
|
||||
\param[in] qeuryStitch - \ru Диалог запроса на сшивку поверхностей.
|
||||
\en Dialog of request for stitching the surfaces. \~
|
||||
\return \ru Код завершения операции.
|
||||
@@ -440,10 +441,10 @@ public:
|
||||
\en Implementation of converter's properties interface. \~
|
||||
\param[in] idoc - \ru Реализация интерфейса документа.
|
||||
\en Implementation of document interface. \~
|
||||
\param[in] stream - \ru Поток, в который производится запись (может быть c3d_null).
|
||||
\en Stream in which the record is performed (can be c3d_null). \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть c3d_null).
|
||||
\en The process progress indicator (can be c3d_null). \~
|
||||
\param[in] stream - \ru Поток, в который производится запись (может быть nullptr).
|
||||
\en Stream in which the record is performed (can be nullptr). \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть nullptr).
|
||||
\en The process progress indicator (can be nullptr). \~
|
||||
\return \ru Код завершения операции.
|
||||
\en Code of the operation termination. \~
|
||||
\ingroup ACIS_Exchange
|
||||
@@ -800,6 +801,30 @@ public:
|
||||
*/
|
||||
virtual MbeConvResType ImportForeign( const c3d::path_string& path, ItModelDocument& idoc, IConvertorProperty3D* prop = 0, IProgressIndicator* indicator = 0 ) = 0;
|
||||
|
||||
/** \brief \ru Импортировать предварительные данные модели: список атрибутов и конфигураций.
|
||||
\en Import preliminary model data: list of attributes and configurations . \~
|
||||
\param[in] prop - \ru Реализация интерфейса свойств конвертера.
|
||||
\en Implementation of converter's properties interface. \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса.
|
||||
\return \ru Код завершения операции.
|
||||
\en Code of the operation termination. \~
|
||||
\ingroup Data_Exchange
|
||||
*/
|
||||
virtual MbeConvResType PreliminaryImport( IConvertorProperty3D& prop, IProgressIndicator* indicator = 0) = 0;
|
||||
|
||||
|
||||
/** \brief \ru Задать параметры для сохранения данных на этапе предварительного импорта.
|
||||
\en Set parameters to save datа at the stage of preliminary import. \~
|
||||
\param[in] attrCollector - \ru Реализация интерфейса для сохранения имен атрибутов модели.
|
||||
\en Implementation of the interface for collecting model attribute names. . \~
|
||||
\param[in] configSelector - \ru Реализация интерфейса выбора конфигурации файла.
|
||||
\en Implementation of the file configuration selection interface . \~
|
||||
\note \ru ЭКСПЕРИМЕНТАЛЬНАЯ.
|
||||
\en EXPEREIMENTAL \~.
|
||||
\ingroup Data_Exchange
|
||||
*/
|
||||
virtual void SetPreliminaryCallbacks( IAttributeNamesCollector* attrCollector, IConfigurationSelector* configSelector) = 0;
|
||||
|
||||
}; // IConvertor3D
|
||||
|
||||
|
||||
@@ -845,8 +870,8 @@ CONV_FUNC( MbeConvResType ) SATRead( IConvertorProperty3D& prop, ItModelDocument
|
||||
\en Implementation of converter's properties interface. \~
|
||||
\param[in] idoc - \ru Реализация интерфейса документа.
|
||||
\en Implementation of document interface. \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть c3d_null).
|
||||
\en The process progress indicator (can be c3d_null). \~
|
||||
\param[in] indicator - \ru Индикатор хода процесса (может быть nullptr).
|
||||
\en The process progress indicator (can be nullptr). \~
|
||||
\return \ru Код завершения операции.
|
||||
\en Code of the operation termination. \~
|
||||
\ingroup ACIS_Exchange
|
||||
@@ -1144,7 +1169,7 @@ namespace c3d {
|
||||
const char* data,
|
||||
size_t length,
|
||||
MbeModelExchangeFormat modelFormat,
|
||||
IConvertorProperty3D* prop = c3d_null, IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr, IProgressIndicator* indicator = nullptr );
|
||||
|
||||
/** \brief \ru Экспортировать модель в буфер.
|
||||
\en Export model into buffer. \~
|
||||
@@ -1195,7 +1220,7 @@ namespace c3d {
|
||||
DEPRECATE_DECLARE CONV_FUNC( MbeConvResType ) ExportIntoBuffer( MbItem& item, MbeModelExchangeFormat modelFormat,
|
||||
char*& data,
|
||||
size_t& length,
|
||||
IConvertorProperty3D* prop = c3d_null, IProgressIndicator* indicator = c3d_null );
|
||||
IConvertorProperty3D* prop = nullptr, IProgressIndicator* indicator = nullptr );
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,872 +0,0 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
\file
|
||||
\brief \ru API для передачи моделей, прочитанных сторонним модулем.
|
||||
\en API for models read by 3d party component.\~
|
||||
\details \ru Определен интерфейс, который должен реализовать модуль и структуры
|
||||
для передачи информации о модели, топологии, геометрии.
|
||||
\en Declared API the module has to implement and structures for structure,
|
||||
topology and geomentry transmission.\~
|
||||
*/
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __CONV_PUGIN_IMPORT_H
|
||||
#define __CONV_PUGIN_IMPORT_H
|
||||
|
||||
#include <wchar.h>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dynamic-link library API
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Путь, по которому расположен интегратор для интеграционного пакета
|
||||
со сторонним модулем.
|
||||
\en Path where integration kit for external module is located.\~
|
||||
|
||||
\details \ru Путь должен содержать завершающий.
|
||||
\en Path where integration kit for external module is located.\~
|
||||
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#ifdef _UNICODE
|
||||
#define C3D_PATH_TO_PLUGIN L"C3D_PATH_TO_PLUGIN"
|
||||
#else
|
||||
#define C3D_PATH_TO_PLUGIN "C3D_PATH_TO_PLUGIN"
|
||||
#endif
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Актуальная версия API плагина.
|
||||
\en Current API version of the plugin.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#define CURRENT_API_VERSION_MAJOR "2"
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Имена функций инициализации и завершения работы плагина.
|
||||
\en Initialize and release functions of plugin.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#define C3D_PLUGIN_INIT_SOURCE InitSource
|
||||
#define C3D_PLUGIN_C_SET_PLUGIN_OPTION CSetPluginOption
|
||||
#define C3D_PLUGIN_W_SET_PLUGIN_OPTION WSetPluginOption
|
||||
#define C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT WSetModelConfigurationSelect
|
||||
#define C3D_PLUGIN_RELEASE_SOURCE ReleaseSource
|
||||
#define C3D_PLUGIN_MAJOR_API_VERSION MajorAPIVersion
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Имена функций инициализации и завершения работы плагина.
|
||||
\en Initialize and release functions of plugin.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#define C3D_PLUGIN_INIT_SOURCE_NAME "InitSource"
|
||||
#define C3D_PLUGIN_C_SET_PLUGIN_OPTION_NAME "CSetPluginOption"
|
||||
#define C3D_PLUGIN_W_SET_PLUGIN_OPTION_NAME "WSetPluginOption"
|
||||
#define C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT_NAME "WSetModelConfigurationSelect"
|
||||
#define C3D_PLUGIN_RELEASE_SOURCE_NAME "ReleaseSource"
|
||||
#define C3D_PLUGIN_MAJOR_API_VERSION_NAME "MajorAPIVersion"
|
||||
|
||||
struct ObModelSource;
|
||||
struct IWSelectConfigurationCallback;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Объявление функций инициализации и завершения работы плагина.
|
||||
\en Declare initialize and release functions of plugin.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#ifdef WIN32
|
||||
#define C3D_PLUGIN_INIT_EXPORT_DECLARE extern "C" __declspec( dllexport ) ObModelSource* _cdecl C3D_PLUGIN_INIT_SOURCE ( const char*, const char* );
|
||||
#define C3D_PLUGIN_C_SET_PLUGIN_OPTION_DECLARE extern "C" __declspec( dllexport ) void _cdecl C3D_PLUGIN_C_SET_PLUGIN_OPTION ( const char*, const char* );
|
||||
#define C3D_PLUGIN_W_SET_PLUGIN_OPTION_DECLARE extern "C" __declspec( dllexport ) void _cdecl C3D_PLUGIN_W_SET_PLUGIN_OPTION ( const wchar_t*, const wchar_t* );
|
||||
#define C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT_DECLARE extern "C" __declspec( dllexport ) void _cdecl C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT ( IWSelectConfigurationCallback* );
|
||||
#define C3D_PLUGIN_RELEASE_EXPORT_DECLARE extern "C" __declspec( dllexport ) void _cdecl C3D_PLUGIN_RELEASE_SOURCE ( ObModelSource* );
|
||||
#define C3D_PLUGIN_MAJOR_API_VERSION_DECLARE extern "C" __declspec( dllexport ) const char* _cdecl C3D_PLUGIN_MAJOR_API_VERSION ();
|
||||
#else
|
||||
#define C3D_PLUGIN_INIT_EXPORT_DECLARE ObModelSource* C3D_PLUGIN_INIT_SOURCE ( const char*, const char* );
|
||||
#define C3D_PLUGIN_C_SET_PLUGIN_OPTION_DECLARE void C3D_PLUGIN_C_SET_PLUGIN_OPTION ( const char*, const char* );
|
||||
#define C3D_PLUGIN_W_SET_PLUGIN_OPTION_DECLARE void C3D_PLUGIN_W_SET_PLUGIN_OPTION ( const wchar_t*, const wchar_t* );
|
||||
#define C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT_DECLARE void C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT ( IWSelectConfigurationCallback* );
|
||||
#define C3D_PLUGIN_RELEASE_EXPORT_DECLARE void C3D_PLUGIN_RELEASE_SOURCE ( ObModelSource* );
|
||||
#define C3D_PLUGIN_MAJOR_API_VERSION_DECLARE const char* C3D_PLUGIN_MAJOR_API_VERSION ();
|
||||
#endif // WIN32
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Объявление типа функций инициализации и завершения работы плагина.
|
||||
\en Declare types of initialize and release functions of plugin.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#ifdef WIN32
|
||||
typedef ObModelSource* ( _cdecl* C3D_PLUGIN_INIT_SOURCE_CALL ) ( const char*, const char* );
|
||||
typedef void ( _cdecl* C3D_PLUGIN_C_SET_OPTION_CALL ) ( const char*, const char* );
|
||||
typedef void ( _cdecl* C3D_PLUGIN_W_SET_OPTION_CALL ) ( const wchar_t*, const wchar_t* );
|
||||
typedef void ( _cdecl* C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT_CALL ) ( IWSelectConfigurationCallback* );
|
||||
typedef void ( _cdecl* C3D_PLUGIN_RELEASE_SOURCE_CALL )( ObModelSource* );
|
||||
typedef const char* ( _cdecl* C3D_PLUGIN_MAJOR_API_VERSION_CALL ) ( );
|
||||
#else
|
||||
typedef ObModelSource* ( * C3D_PLUGIN_INIT_SOURCE_CALL ) ( const char*, const char* );
|
||||
typedef void ( * C3D_PLUGIN_C_SET_OPTION_CALL ) ( const char*, const char* );
|
||||
typedef void ( * C3D_PLUGIN_W_SET_OPTION_CALL ) ( const wchar_t*, const wchar_t* );
|
||||
typedef void ( * C3D_PLUGIN_W_SET_MODEL_CONFIGURATION_SELECT_CALL ) ( IWSelectConfigurationCallback* );
|
||||
typedef void ( * C3D_PLUGIN_RELEASE_SOURCE_CALL ) ( ObModelSource* );
|
||||
typedef const char* ( * C3D_PLUGIN_MAJOR_API_VERSION_CALL ) ( );
|
||||
#endif // WIN32
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Plugin types
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Объявление булевых значений.
|
||||
\en Declare boolean values.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
#define C3D_PLUGIN_BOOL int
|
||||
#define C3D_PLUGIN_TRUE 1
|
||||
#define C3D_PLUGIN_FALSE 0
|
||||
|
||||
#define C3D_SYMBOL_COMPOSITE_TEXT 3
|
||||
#define C3D_SYMBOL_TEXT_LINE 2
|
||||
#define C3D_SYMBOL_PRREDEFINED 1
|
||||
|
||||
#define C3D_SYMBOL_ARC_LENGTH "C3D_SYMBOL_ARC_LENGTH"
|
||||
#define C3D_SYMBOL_CONICAL_TAPER "C3D_SYMBOL_CONICAL_TAPER"
|
||||
#define C3D_SYMBOL_COUNTERBORE "C3D_SYMBOL_COUNTERBORE"
|
||||
#define C3D_SYMBOL_COUNTERSINK "C3D_SYMBOL_COUNTERSINK"
|
||||
#define C3D_SYMBOL_DEPTH "C3D_SYMBOL_DEPTH"
|
||||
#define C3D_SYMBOL_DIAMETER "C3D_SYMBOL_DIAMETER"
|
||||
#define C3D_SYMBOL_PLUS_MINUS "C3D_SYMBOL_PLUS_MINUS"
|
||||
#define C3D_SYMBOL_SLOPE "C3D_SYMBOL_SLOPE"
|
||||
#define C3D_SYMBOL_SPHERICAL_DIAMETER "C3D_SYMBOL_SPHERICAL_DIAMETER"
|
||||
#define C3D_SYMBOL_SPHERICAL_RADIUS "C3D_SYMBOL_SPHERICAL_RADIUS"
|
||||
#define C3D_SYMBOL_SQUARE "C3D_SYMBOL_SQUARE"
|
||||
#define C3D_SYMBOL_ANGULARITY "C3D_SYMBOL_ANGULARITY"
|
||||
#define C3D_SYMBOL_CIRCULAR_RUNOUT "C3D_SYMBOL_CIRCULAR_RUNOUT"
|
||||
#define C3D_SYMBOL_CIRCULARITY "C3D_SYMBOL_CIRCULARITY"
|
||||
#define C3D_SYMBOL_CONCENTRICITY "C3D_SYMBOL_CONCENTRICITY"
|
||||
#define C3D_SYMBOL_CYLINDRICITY "C3D_SYMBOL_CYLINDRICITY"
|
||||
#define C3D_SYMBOL_FLATNESS "C3D_SYMBOL_FLATNESS"
|
||||
#define C3D_SYMBOL_PARALLELISM "C3D_SYMBOL_PARALLELISM"
|
||||
#define C3D_SYMBOL_PERPENDICULARITY "C3D_SYMBOL_PERPENDICULARITY"
|
||||
#define C3D_SYMBOL_POSITION "C3D_SYMBOL_POSITION"
|
||||
#define C3D_SYMBOL_LINE_PROFILE "C3D_SYMBOL_LINE_PROFILE"
|
||||
#define C3D_SYMBOL_SURFACE_PROFILE "C3D_SYMBOL_SURFACE_PROFILE"
|
||||
#define C3D_SYMBOL_STRAIGHTNESS "C3D_SYMBOL_STRAIGHTNESS"
|
||||
#define C3D_SYMBOL_SYMMETRY "C3D_SYMBOL_SYMMETRY"
|
||||
#define C3D_SYMBOL_TOTAL_RUNOUT "C3D_SYMBOL_TOTAL_RUNOUT"
|
||||
|
||||
|
||||
#define C3D_CALLOUT_GENERAL 0
|
||||
#define C3D_CALLOUT_DIMENSION 1
|
||||
#define C3D_CALLOUT_PROJECTION 2
|
||||
|
||||
|
||||
#define C3D_TERMINATOR_EMPTY 0
|
||||
#define C3D_TERMINATOR_BLANKED_ARROW 1
|
||||
#define C3D_TERMINATOR_BLANKED_BOX 2
|
||||
#define C3D_TERMINATOR_BLANKED_DOT 3
|
||||
#define C3D_TERMINATOR_DIMENSION_ORIGIN 4
|
||||
#define C3D_TERMINATOR_FILLED_ARROW 5
|
||||
#define C3D_TERMINATOR_FILLED_BOX 6
|
||||
#define C3D_TERMINATOR_FILLED_DOT 7
|
||||
#define C3D_TERMINATOR_INTEGRAL_SYMBOL 8
|
||||
#define C3D_TERMINATOR_OPEN_ARROW 9
|
||||
#define C3D_TERMINATOR_SLASH 10
|
||||
#define C3D_TERMINATOR_UNFILLED_ARROW 11
|
||||
|
||||
|
||||
#define C3D_DIMENSION_GENERAL 0
|
||||
#define C3D_DIMENSION_LINEAR 1
|
||||
#define C3D_DIMENSION_ANGULAR 2
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Curves
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Примитив трехмерного пространства (точка либо вектор).
|
||||
\en Spatial primitive (point or vector).\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObPrimitive3D {
|
||||
double x, y, z;
|
||||
|
||||
ObPrimitive3D()
|
||||
: x( 0.0 ), y( 0.0 ), z( 0.0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Инициализировать примитив
|
||||
// ---
|
||||
inline void SetObPrimitiveZero( ObPrimitive3D& ob ) {
|
||||
ob.x = ob.y = ob.z = 0.0;
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Инициализировать примитив
|
||||
// ---
|
||||
inline bool IsObPrimitiveZero( const ObPrimitive3D& ob ) {
|
||||
return (ob.x == 0.0) && (ob.y == 0.0) && (ob.z == 0.0);
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Локальная система координат в трехмерном пространстве.
|
||||
\en Spatial placement.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObLocation3D {
|
||||
ObPrimitive3D origin, axisX, axisY, axisZ;
|
||||
|
||||
ObLocation3D()
|
||||
: origin(), axisX(), axisY(), axisZ()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Одномерный диапазон.
|
||||
\en One dimensional range.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObRange1D {
|
||||
double start, end;
|
||||
|
||||
ObRange1D()
|
||||
: start( 0.0 ), end( 0.0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерный отрезок.
|
||||
\en Spatial line segment.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObSegment3D {
|
||||
static const int CurveType = 1;
|
||||
ObRange1D domain;
|
||||
ObPrimitive3D start, end;
|
||||
|
||||
ObSegment3D()
|
||||
: domain(), start(), end()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерная полилиния.
|
||||
\en Spatial polyline.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObPolyline3D {
|
||||
static const int CurveType = 2;
|
||||
int pointsArrayId;
|
||||
|
||||
ObPolyline3D()
|
||||
: pointsArrayId( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерная дуга.
|
||||
\en Spatial arc.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObArc3D {
|
||||
static const int CurveType = 3;
|
||||
ObLocation3D location;
|
||||
double majorAxis, minorAxis;
|
||||
ObRange1D domain;
|
||||
|
||||
ObArc3D()
|
||||
: location(), majorAxis( 0.0 ), minorAxis( 0.0 ), domain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерная парабола.
|
||||
\en Spatial parabola.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObParabola3D {
|
||||
static const int CurveType = 4;
|
||||
ObLocation3D location;
|
||||
double focalLength;
|
||||
ObRange1D domain;
|
||||
|
||||
ObParabola3D()
|
||||
: location(), focalLength( 0.0 ), domain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерная дуга.
|
||||
\en Spatial arc.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObHyperbola3D {
|
||||
static const int CurveType = 5;
|
||||
ObLocation3D location;
|
||||
double majorSemiAxis, minorSemiAxis;
|
||||
ObRange1D domain;
|
||||
|
||||
ObHyperbola3D()
|
||||
: location(), majorSemiAxis( 0.0 ), minorSemiAxis( 0.0 ), domain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерный сплайн.
|
||||
\en Spatial spline.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObSplineCurve3D {
|
||||
static const int CurveType = 6;
|
||||
int knotsId, vertcisId;
|
||||
int degree;
|
||||
int closed;
|
||||
|
||||
ObSplineCurve3D()
|
||||
: knotsId( 0 ), vertcisId( 0 ), degree( 0 ), closed( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерный NURBS.
|
||||
\en Spatial NURBS.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObNURBSCurve3D {
|
||||
static const int CurveType = 7;
|
||||
int knotsId, vertcisId, weightsId;
|
||||
int degree;
|
||||
C3D_PLUGIN_BOOL closed;
|
||||
ObRange1D domain;
|
||||
|
||||
ObNURBSCurve3D()
|
||||
: knotsId( 0 ), vertcisId( 0 ), weightsId( 0 ), degree( 0 ), closed( 0 ), domain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Трехмерная составная кривая.
|
||||
\en Spatial composite curve.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObCompositeCurve3D {
|
||||
static const int CurveType = 8;
|
||||
int segmentsArrIndicis;
|
||||
|
||||
ObCompositeCurve3D()
|
||||
: segmentsArrIndicis( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Surfaces
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Плоскость.
|
||||
\en Plane.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObPlane {
|
||||
static const int SurfaceType = 1;
|
||||
ObLocation3D location;
|
||||
ObRange1D uDomain, vDomain;
|
||||
|
||||
ObPlane()
|
||||
: location(), uDomain(), vDomain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Цилиндрическая поверхность.
|
||||
\en Cylinder surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObCylinder {
|
||||
static const int SurfaceType = 2;
|
||||
ObLocation3D location;
|
||||
double r, h;
|
||||
ObRange1D uDomain, vDomain;
|
||||
|
||||
ObCylinder()
|
||||
: location(), r( 0.0 ), h( 0.0 ), uDomain(), vDomain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Коническая поверхность.
|
||||
\en Cone surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObCone {
|
||||
static const int SurfaceType = 3;
|
||||
ObLocation3D location;
|
||||
double r, h, halfAngle;
|
||||
ObRange1D uDomain, vDomain;
|
||||
|
||||
ObCone()
|
||||
: location(), r( 0.0 ), h( 0.0 ), halfAngle( 0.0 ), uDomain(), vDomain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Сферическая поверхность.
|
||||
\en Sphere surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObSphere {
|
||||
static const int SurfaceType = 4;
|
||||
ObLocation3D location;
|
||||
double r;
|
||||
ObRange1D uDomain, vDomain;
|
||||
|
||||
ObSphere()
|
||||
: location(), r( 0.0 ), uDomain(), vDomain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Тороидальная поверхность.
|
||||
\en Torus surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObTorus {
|
||||
static const int SurfaceType = 5;
|
||||
ObLocation3D location;
|
||||
double rMin, rMax;
|
||||
ObRange1D uDomain, vDomain;
|
||||
|
||||
ObTorus()
|
||||
: location(), rMin( 0.0 ), rMax( 0.0 ), uDomain(), vDomain()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Поверхность выдавливания.
|
||||
\en Extrusion surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObExtrusion {
|
||||
static const int SurfaceType = 6;
|
||||
int curve;
|
||||
ObPrimitive3D direction;
|
||||
|
||||
ObExtrusion()
|
||||
: curve( 0 ), direction()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Поверхность вращения.
|
||||
\en Revolution surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObRevolution {
|
||||
static const int SurfaceType = 7;
|
||||
int curveId;
|
||||
ObPrimitive3D axisOrigin, axisDirection;
|
||||
ObRange1D vRange;
|
||||
|
||||
ObRevolution()
|
||||
: curveId( 0 ), axisOrigin(), axisDirection(), vRange()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Линейчатая поверхность.
|
||||
\en Ruled surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObRuled {
|
||||
static const int SurfaceType = 8;
|
||||
int curve1, curve2;
|
||||
|
||||
ObRuled()
|
||||
: curve1( 0 ), curve2( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Сплайновая поверхность.
|
||||
\en Spline surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObSplineSurface {
|
||||
static const int SurfaceType = 9;
|
||||
int knotsUId, knotsVId, verticisListId;
|
||||
int degreeU, degreeV;
|
||||
int closedU, closedV;
|
||||
|
||||
ObSplineSurface()
|
||||
: knotsUId( 0 ), knotsVId( 0 ), verticisListId( 0 ), degreeU( 0 ), degreeV( 0 ), closedU( 0 ), closedV( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Сплайновая поверхность.
|
||||
\en Spline surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObNURBSSurface {
|
||||
static const int SurfaceType = 10;
|
||||
int knotsUId, knotsVId, verticisListListId, weightsListListId;
|
||||
int degreeU, degreeV;
|
||||
C3D_PLUGIN_BOOL closedU, closedV;
|
||||
|
||||
ObNURBSSurface()
|
||||
: knotsUId( 0 ), knotsVId( 0 ), verticisListListId( 0 ), weightsListListId( 0 ), degreeU( 0 ), degreeV( 0 ), closedU( 0 ), closedV( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Смещённая поверхность.
|
||||
\en Offset surface.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObOffsetSurface {
|
||||
static const int SurfaceType = 11;
|
||||
int baseSurface;
|
||||
double offset;
|
||||
|
||||
ObOffsetSurface()
|
||||
: baseSurface( 0 ), offset( 0.0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Цвет.
|
||||
\en Colour.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObColour {
|
||||
double red, green, blue;
|
||||
|
||||
ObColour()
|
||||
: red( 0.0 ), green( 0.0 ), blue( 0.0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Неопределённый компонент цвета.
|
||||
\en Undefined component of colour.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
const double ObUndefinedColourComponent = -1.0;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Элемент аннотации.
|
||||
\en PMI item.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObPMI {
|
||||
ObLocation3D location;
|
||||
int visualArray;
|
||||
int textBlockIdArray;
|
||||
|
||||
ObPMI()
|
||||
: location(), visualArray( 0 ), textBlockIdArray( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Элемент текста.
|
||||
\en Text item.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObTextBlock {
|
||||
double originX, originY;
|
||||
double dirX, dirY;
|
||||
double extentX, extentY;
|
||||
|
||||
ObTextBlock()
|
||||
: originX( 0.0 ), originY( 0.0 ), dirX( 0.0 ), dirY( 0.0 ), extentX( 0.0 ), extentY( 0.0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Размер.
|
||||
\en Dimension.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObDimension {
|
||||
double value;
|
||||
double deviationMin, deviationMax;
|
||||
int type;
|
||||
int calloutArrId;
|
||||
|
||||
ObDimension()
|
||||
: value( 0.0 ), deviationMin( 0.0 ), deviationMax( 0.0 ), type( 0 ), calloutArrId( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Особая линия.
|
||||
\en Special line.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObPMICallout {
|
||||
int type;
|
||||
//int geometry;
|
||||
ObPrimitive3D head, tail;
|
||||
bool isArc;
|
||||
ObPrimitive3D center;
|
||||
int terminatorHead;
|
||||
int terminatorTail;
|
||||
|
||||
ObPMICallout()
|
||||
: type( 0 ), head(), tail(), isArc( false ), center(), terminatorHead( 0 ), terminatorTail( 0 )
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Model source plugin. Basic interface.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Источник данных модели.
|
||||
\en Model source.\~
|
||||
\ingroup Data_Interface
|
||||
*/
|
||||
// ---
|
||||
struct ObModelSource {
|
||||
|
||||
virtual ~ObModelSource() {};
|
||||
|
||||
virtual C3D_PLUGIN_BOOL LastOperationSuccess() = 0;
|
||||
|
||||
// Операции с файлом
|
||||
virtual C3D_PLUGIN_BOOL IsPathWCS() = 0;
|
||||
virtual C3D_PLUGIN_BOOL Open( const char* ) = 0;
|
||||
virtual C3D_PLUGIN_BOOL Open( const wchar_t* ) = 0;
|
||||
virtual void Close() = 0;
|
||||
|
||||
// Значение неопределённого идентификатора.
|
||||
virtual int UndefinedId() = 0;
|
||||
|
||||
// Управление трассировкой событий
|
||||
virtual void EnableLog() = 0;
|
||||
virtual void DisableLog() = 0;
|
||||
|
||||
// Контейнеры
|
||||
|
||||
virtual unsigned int ArrayCount ( int arrayId ) = 0;
|
||||
virtual int ArrayIdentifier ( int arrayId, unsigned int index ) = 0;
|
||||
virtual double ArrayFloat ( int arrayId, unsigned int index ) = 0;
|
||||
virtual ObPrimitive3D ArrayPrimitive ( int arrayId, unsigned int index ) = 0;
|
||||
|
||||
virtual ObColour ItemColour( int itemId ) = 0;
|
||||
|
||||
// Модель
|
||||
virtual int ModelPart() = 0;
|
||||
|
||||
virtual unsigned int PartInstanceCount( int partId ) = 0;
|
||||
virtual int PartInstance( int partId, unsigned int inst ) = 0;
|
||||
|
||||
virtual const wchar_t* WPartName( int partId ) = 0;
|
||||
virtual const wchar_t* WPartLabel( int partId ) = 0;
|
||||
virtual const wchar_t* WPartAuthor( int partId ) = 0;
|
||||
virtual const wchar_t* WPartOrganization( int partId ) = 0;
|
||||
virtual const wchar_t* WPartDescription( int partId ) = 0;
|
||||
|
||||
virtual const char* CPartName( int partId ) = 0;
|
||||
virtual const char* CPartLabel( int partId ) = 0;
|
||||
virtual const char* CPartAuthor( int partId ) = 0;
|
||||
virtual const char* CPartOrganization( int partId ) = 0;
|
||||
virtual const char* CPartDescription( int partId ) = 0;
|
||||
|
||||
virtual int InstancePart( int instanceId ) = 0;
|
||||
virtual ObLocation3D InstanceLocation( int instanceId ) = 0;
|
||||
|
||||
virtual unsigned int SolidsCount( int partId ) = 0;
|
||||
|
||||
// Топология граничного представления
|
||||
virtual int Solid( int partId, unsigned int solid ) = 0;
|
||||
virtual ObLocation3D SolidLocation( int solidId ) = 0;
|
||||
|
||||
virtual unsigned int SpaceCurvesCount( int partId ) = 0;
|
||||
virtual int SpaceCurve( int partId, unsigned int curve ) = 0;
|
||||
|
||||
virtual unsigned int ShellsCount( int solidId ) = 0;
|
||||
virtual int Shell( int solid, unsigned int shell ) = 0;
|
||||
|
||||
virtual C3D_PLUGIN_BOOL ShellClosed( int shellId ) = 0;
|
||||
virtual unsigned int ShellFacesCount( int shellId ) = 0;
|
||||
virtual int ShellFace( int shellId, unsigned int face ) = 0;
|
||||
|
||||
virtual unsigned int FaceBoundsCount( int faceId ) = 0;
|
||||
virtual int FaceBound( int faceId, unsigned int bound ) = 0;
|
||||
virtual C3D_PLUGIN_BOOL FaceSurfaceSameOriented( int faceId ) = 0;
|
||||
|
||||
virtual int BoundType( int boundId ) = 0;
|
||||
virtual unsigned int BoundCoedgesCount( int boundId ) = 0;
|
||||
virtual int BoundCoedge( int boundId, unsigned int coedge ) = 0;
|
||||
|
||||
virtual int CoedgeEdge( int coedgeId ) = 0;
|
||||
virtual C3D_PLUGIN_BOOL CoedgeEdgeSameOriented( int coedgeId ) = 0;
|
||||
|
||||
virtual int EdgeStartVertex( int edgeId ) = 0;
|
||||
virtual int EdgeEndVertex( int edgeId ) = 0;
|
||||
|
||||
// Методы получения геометрии
|
||||
|
||||
virtual int FaceGeometry( int faceId ) = 0;
|
||||
virtual int EdgeGeometry( int edgeId ) = 0;
|
||||
virtual ObPrimitive3D VertexGeometry( int vertexId ) = 0;
|
||||
|
||||
// Типы геометрических объектов
|
||||
|
||||
virtual int SurfaceType( int surfaceId ) = 0;
|
||||
virtual int Curve3DType( int curveId ) = 0;
|
||||
|
||||
// Данные геометрии
|
||||
|
||||
// Пространственные кривые
|
||||
|
||||
virtual ObSegment3D LineSegment3D( int curveId ) = 0;
|
||||
virtual ObPolyline3D Polyline3D( int curveId ) = 0;
|
||||
virtual ObArc3D Arc3D( int curveId ) = 0;
|
||||
virtual ObParabola3D Parabola3D( int curveId ) = 0;
|
||||
virtual ObHyperbola3D Hyperbola3D( int curveId ) = 0;
|
||||
virtual ObSplineCurve3D SplineCurve3D( int curveId ) = 0;
|
||||
virtual ObNURBSCurve3D NURBSCurve3D( int curveId ) = 0;
|
||||
virtual ObCompositeCurve3D CompositeCurve3D( int curveId ) = 0;
|
||||
|
||||
virtual unsigned int CompositeCurveSegmentsCount( int curveId ) = 0;
|
||||
virtual int CompositeCurveSegment( int curveId, unsigned int index ) = 0;
|
||||
virtual C3D_PLUGIN_BOOL CompositeCurveSegmentsSameOriented( int curveId, unsigned int index ) = 0;
|
||||
|
||||
// Поверхности
|
||||
|
||||
virtual ObPlane Plane( int surfaceId ) = 0;
|
||||
virtual ObCylinder Cylinder( int surfaceId ) = 0;
|
||||
virtual ObCone Cone( int surfaceId ) = 0;
|
||||
virtual ObSphere Sphere( int surfaceId ) = 0;
|
||||
virtual ObTorus Torus( int surfaceId ) = 0;
|
||||
virtual ObExtrusion Extrusion( int surfaceId ) = 0;
|
||||
virtual ObRevolution Revolution( int surfaceId ) = 0;
|
||||
virtual ObRuled Ruled( int surfaceId ) = 0;
|
||||
virtual ObSplineSurface SplineSurface( int surfaceId ) = 0;
|
||||
virtual ObNURBSSurface NURBSSurface( int surfaceId ) = 0;
|
||||
virtual ObOffsetSurface OffsetSurface( int surfaceId ) = 0;
|
||||
|
||||
virtual unsigned int PartPMICount( int partIdId ) = 0;
|
||||
virtual int PartPMI( int partId, unsigned int index ) = 0;
|
||||
virtual ObPMI PMI( int pmiId ) = 0;
|
||||
|
||||
virtual C3D_PLUGIN_BOOL IsDimension( int pmiId ) = 0;
|
||||
virtual ObDimension Dimension( int pmiId ) = 0;
|
||||
|
||||
virtual ObPMICallout PMICallout( int calloutId ) = 0;
|
||||
|
||||
virtual int PMITextType( int textBlockId ) = 0;
|
||||
virtual ObTextBlock PMITextLocation( int textBlockId ) = 0;
|
||||
virtual const char* PMITextSymbol( int textBlockId ) = 0;
|
||||
virtual const wchar_t* WPMIText( int textId ) = 0;
|
||||
virtual const char* CPMIText( int textBlockId ) = 0;
|
||||
virtual unsigned int CompositeTextCount( int textId ) = 0;
|
||||
virtual int CompositeText( int textId, unsigned int index ) = 0;
|
||||
|
||||
virtual unsigned int PMICalloutCount( int pmiId ) = 0;
|
||||
virtual ObPMICallout PMICallout( int pmiId, unsigned int index ) = 0;
|
||||
|
||||
virtual double LengthUnitsFactor() = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct IWSelectConfigurationCallback {
|
||||
virtual void AddConfiguration( const wchar_t* ) = 0;
|
||||
virtual void SetActiveConfiguration( int ) = 0;
|
||||
virtual int SelectConfiguration() const = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif // __CONV_PUGIN_IMPORT_H
|
||||
|
||||
@@ -34,6 +34,26 @@ public:
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/**
|
||||
\brief \ru Интерфейс для сохранения списка имен атрибутов модели.
|
||||
\en Interface for collecting model attribute names. \~
|
||||
\details \ru Вызывается во время импорта предварительных данных модели
|
||||
для задания списка имен атрибутов модели.
|
||||
\en Called during import of preliminary model data to specify
|
||||
a list of model attribute names . \~
|
||||
\note \ru ЭКСПЕРИМЕНТАЛЬНАЯ.
|
||||
\en EXPEREIMENTAL. \~
|
||||
*/
|
||||
// ---
|
||||
class IAttributeNamesCollector : public MbRefItem
|
||||
{
|
||||
public:
|
||||
virtual void AddAttributeName( const c3d::string_t& configurationName ) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
///
|
||||
/**
|
||||
|
||||
@@ -54,33 +54,47 @@ namespace JTC {
|
||||
std::vector<MbCartPoint3D> boundaryPoints;
|
||||
double metricTolerance;
|
||||
public:
|
||||
TopoMesh(); // Конструктор
|
||||
/// Конструктор
|
||||
TopoMesh();
|
||||
|
||||
virtual ~TopoMesh(); //Деструктор
|
||||
/// Деструктор
|
||||
virtual ~TopoMesh();
|
||||
|
||||
bool Init( const MbMesh& mesh, bool enableDiagnostics = false ); // Инициализировать
|
||||
/// Инициализировать
|
||||
bool Init( const MbMesh& mesh, bool enableDiagnostics = false );
|
||||
|
||||
const MbMesh* GetMesh() const; // Получить сетку
|
||||
/// Получить сетку
|
||||
const MbMesh* GetMesh() const;
|
||||
|
||||
size_t MeshPolygonsCount() const; // Число полигонов
|
||||
/// Число полигонов
|
||||
size_t MeshPolygonsCount() const;
|
||||
|
||||
MeshPolygonPtr Polygon( size_t index ) const; // Получить полигон
|
||||
/// Получить полигон
|
||||
MeshPolygonPtr Polygon( size_t index ) const;
|
||||
|
||||
size_t MeshVerticisCount() const; // Число вершин
|
||||
/// Число вершин
|
||||
size_t MeshVerticisCount() const;
|
||||
|
||||
MeshVertexPtr Vertex( size_t index ) const; // Получить вершину
|
||||
/// Получить вершину
|
||||
MeshVertexPtr Vertex( size_t index ) const;
|
||||
|
||||
std::map< size_t, std::vector<size_t> > GetDegeneratedTriangles() const; // Получить вырожденные треуголники
|
||||
/// Получить вырожденные треуголники
|
||||
std::map< size_t, std::vector<size_t> > GetDegeneratedTriangles() const;
|
||||
|
||||
std::vector<MbCartPoint3D> GetBoundaryPoints() const; // Получить граничные точки сетки
|
||||
/// Получить граничные точки сетки
|
||||
std::vector<MbCartPoint3D> GetBoundaryPoints() const;
|
||||
|
||||
void Reset(); // Сбросить все данные
|
||||
/// Сбросить все данные
|
||||
void Reset();
|
||||
|
||||
size_t NextBoundaryVertex( size_t indexBoundaryVertex, const std::vector<size_t>& allBoundary ) const; // Получить следующую в цепочке граничную вершину.
|
||||
/// Получить следующую в цепочке граничную вершину.
|
||||
size_t NextBoundaryVertex( size_t indexBoundaryVertex, const std::vector<size_t>& allBoundary ) const;
|
||||
|
||||
bool InitVoidBoundFrom( std::vector<size_t>& freeBoundaryVerticis ); // Сформировать внешнюю границу начиная с указанной вершины.
|
||||
/// Сформировать внешнюю границу начиная с указанной вершины.
|
||||
bool InitVoidBoundFrom( std::vector<size_t>& freeBoundaryVerticis );
|
||||
|
||||
double MetricTolerance() const; // Получить точность задания расстояния.
|
||||
/// Получить точность задания расстояния.
|
||||
double MetricTolerance() const;
|
||||
|
||||
OBVIOUS_PRIVATE_COPY( TopoMesh )
|
||||
};
|
||||
|
||||
@@ -70,20 +70,20 @@ public:
|
||||
~MbAttributeProvider();
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Выдать тип элемента. \en Get an element type.
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвинуть вдоль вектора. \en Move along a vector.
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Определить, являются ли объекты подобными. \en Determine whether the objects are similar.
|
||||
virtual bool SetEqual( const MbCreator & ); // \ru Сделать равным. \en Make equal.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию. \en Create a copy.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию. \en Create a copy.
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта. \en Set properties of the object.
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта. \en Get a name of object property.
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction.
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction.
|
||||
|
||||
// \ru Добавить отдельный атрибут (забрать во владение) \en Add a separate attribute.
|
||||
void AddAttribute( const MbName & name, MbAttribute * attr );
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
/// \ru Записать полученные атрибуты. \en Save the received attributes.
|
||||
void ReceiveAttributes ( c3d::AttrVector & attrs );
|
||||
/// \ru Скопировать атрибуты. \en Copy attributes.
|
||||
void DuplicateAttributes( c3d::AttrVector & attrs, MbRegDuplicate * iReg = c3d_null ) const;
|
||||
void DuplicateAttributes( c3d::AttrVector & attrs, MbRegDuplicate * iReg = nullptr ) const;
|
||||
/// \ru Дать количество атрибутов. \en Get the attributes count.
|
||||
size_t AttributesCount() const { return attributes.size(); }
|
||||
/// \ru Добавить атрибут. \en Add an attribute.
|
||||
|
||||
@@ -67,10 +67,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента. \en A type of element.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * ireg = c3d_null ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * ireg = c3d_null ); // \ru Сдвиг. \en Translation.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * ireg = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * ireg = nullptr ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * ireg = nullptr ); // \ru Сдвиг. \en Translation.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * ireg = nullptr ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property.
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
@@ -90,7 +90,7 @@ public :
|
||||
// \ru Общие функции твердого тела. \en Common functions of solid.
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
virtual void SetYourVersion( VERSION version, bool forAll );
|
||||
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
/// \ru Общее количество строителей. \en Total count of creators.
|
||||
size_t GetCreatorsCount() const { return creators.size(); }
|
||||
/// \ru Дать строитель. \en Get the creator.
|
||||
const MbCreator * GetCreator( size_t k ) const { return ( (k < creators.size()) ? creators[k] : c3d_null ); }
|
||||
const MbCreator * GetCreator( size_t k ) const { return ( (k < creators.size()) ? creators[k] : nullptr ); }
|
||||
/// \ru Удалить из журнала строители первого тела. \en Delete first-solid creators from the history tree.
|
||||
bool DeleteFirstCreators();
|
||||
private :
|
||||
|
||||
@@ -39,7 +39,7 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual void GetProperties( MbProperties &properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties &properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -51,7 +51,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private :
|
||||
virtual void ReadDistances ( reader &in );
|
||||
|
||||
@@ -62,15 +62,15 @@ public :
|
||||
|
||||
// \ru Общие функции строителя \en The common functions of the creator
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Дать имя свойства объекта \en Get the object property name
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -80,7 +80,7 @@ public :
|
||||
virtual void SetBasisPoints( const MbControlData3D & ); // \ru Изменить объект по контрольным точкам. \en Change the object by control points.
|
||||
|
||||
// \ru Построить кривую по журналу построения \en Create a curve from the history tree
|
||||
virtual bool CreateSpaceCurve( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = c3d_null );
|
||||
bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = nullptr ) override;
|
||||
|
||||
/** \} */
|
||||
|
||||
@@ -115,8 +115,10 @@ IMPL_PERSISTENT_OPS( MbConnectingCurveCreator )
|
||||
\en An object defining the edges names. \~
|
||||
\param[out] res - \ru Код результата операции.
|
||||
\en Operation result code. \~
|
||||
\param[out] surface - \ru Поверхность, которая будет создана и на которой базируется соединительная кривая, (может быть возращён c3d_null).
|
||||
\en A surface on which the fillet curve is based on, it will be created by the method (can be c3d_null). \~
|
||||
\param[out] surface - \ru Поверхность, которая будет создана и на которой базируется соединительная кривая, (может быть возращён nullptr).
|
||||
\en A surface on which the fillet curve is based on, it will be created by the method (can be nullptr). \~
|
||||
\param[out] edge - \ru Построенная кривая сопряжения.
|
||||
\en The constructed conjugation edge. \~
|
||||
\result \ru Возвращает строитель.
|
||||
\en Returns the constructor. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
@@ -142,6 +144,8 @@ MATH_FUNC (MbCreator *) CreateFilletEdge( const MbCurve3D & curve1, double & t1,
|
||||
\en Curve 1. \~
|
||||
\param[in] curve2 - \ru Кривая 2.
|
||||
\en Curve 2. \~
|
||||
\param[out] edge - \ru Построенная кривая сопряжения.
|
||||
\en The constructed conjugation edge. \~
|
||||
\result \ru Возвращает строитель.
|
||||
\en Returns the constructor. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
@@ -164,6 +168,8 @@ MATH_FUNC (MbCreator *) CreateSplineEdge( const MbCurve3D & curve1, double t1, M
|
||||
\en Curve 1. \~
|
||||
\param[in] curve2 - \ru Кривая 2.
|
||||
\en Curve 2. \~
|
||||
\param[out] edge - \ru Построенная кривая сопряжения.
|
||||
\en The constructed conjugation edge. \~
|
||||
\result \ru Возвращает строитель.
|
||||
\en Returns the constructor. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
@@ -177,14 +183,16 @@ MATH_FUNC (MbCreator *) CreateConnectingEdge( const MbCurve3D & curve1, bool isB
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Cоздание строителя сопряжения двух кривых кубическим сплайном Эрмита (кривой-мостиком).
|
||||
/** \brief \ru Создание строителя сопряжения двух кривых кубическим сплайном Эрмита (кривой-мостиком).
|
||||
\en Create a constructor of two curves conjugation by a cubic Hermite spline (transition curve). \~
|
||||
\details \ru Cоздание строителя сопряжения двух кривых кубическим сплайном Эрмита (кривой-мостиком).\n
|
||||
\details \ru Создание строителя сопряжения двух кривых кубическим сплайном Эрмита (кривой-мостиком).\n
|
||||
\en Create a constructor of two curves conjugation by a cubic Hermite spline (transition curve).\n \~
|
||||
\param[in] curve1 - \ru Кривая 1.
|
||||
\en Curve 1. \~
|
||||
\param[in] curve2 - \ru Кривая 2.
|
||||
\en Curve 2. \~
|
||||
\param[out] edge - \ru Построенная кривая сопряжения.
|
||||
\en The constructed conjugation edge. \~
|
||||
\result \ru Возвращает строитель.
|
||||
\en Returns the constructor. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
@@ -194,7 +202,7 @@ MATH_FUNC (MbCreator *) CreateBridgeEdge( const MbCurve3D & curve1, double t1, b
|
||||
const MbCurve3D & curve2, double t2, bool sense2,
|
||||
const MbSNameMaker & names,
|
||||
MbResultType & res,
|
||||
MbEdge *& edge );
|
||||
MbEdge *& edge );
|
||||
|
||||
|
||||
#endif // __CR_CONNECTING_CURVE_H
|
||||
@@ -66,10 +66,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
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 Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -85,7 +85,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Оставляемая часть (если part больше 0, то оставляем часть тела со стороны нормали поверхности). \en A part to be kept (if part is bigger than 0, then keep a part of solid from the side of surface normal).
|
||||
ThreeStates GetPart() const { return part; }
|
||||
|
||||
@@ -42,10 +42,10 @@ public :
|
||||
\en \name Common functions of the mathematical object.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -56,7 +56,7 @@ public :
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным. \en Make equal.
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
/** \} */
|
||||
/** \ru \name Функции строителя, разделяющие отдельные части оболочки.
|
||||
\en \name Functions of the creator subdividing separate parts of the shell.
|
||||
@@ -183,7 +183,7 @@ MbCreator * CreateDetach( MbFaceShell & solid,
|
||||
MbResultType & res )
|
||||
{
|
||||
res = rt_Error;
|
||||
MbCreator * result = c3d_null;
|
||||
MbCreator * result = nullptr;
|
||||
|
||||
::MakeDetachShells( solid, partSolid, sort );
|
||||
|
||||
|
||||
@@ -42,12 +42,12 @@ public: // \ru Деструктор \en Destructor
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbeCreatorType Type() const; // \ru Получить групповой тип объекта. \en Get the group type of the object.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -55,13 +55,13 @@ public: // \ru Общие функции математического объе
|
||||
|
||||
/// \ru Построение оболочки \en Creation of a shell.
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса кривых. \en Creation of a wire-frame.
|
||||
virtual bool CreateWireFrame( MbWireFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса точек. \en Creation of a point-frame.
|
||||
virtual bool CreatePointFrame( MbPointFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Переместить строитель. \en Displace the creator.
|
||||
virtual bool Perform( MbCreator * ) const;
|
||||
|
||||
@@ -110,12 +110,12 @@ public: // \ru Деструктор \en Destructor
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbeCreatorType Type() const; // \ru Получить групповой тип объекта. \en Get the group type of the object.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -123,13 +123,13 @@ public: // \ru Общие функции математического объе
|
||||
|
||||
/// \ru Построение оболочки \en Creation of a shell.
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса кривых. \en Creation of a wire-frame.
|
||||
virtual bool CreateWireFrame( MbWireFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса точек. \en Creation of a point-frame.
|
||||
virtual bool CreatePointFrame( MbPointFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Переместить строитель. \en Displace the creator.
|
||||
virtual bool Perform( MbCreator * ) const;
|
||||
|
||||
@@ -177,12 +177,12 @@ public: // \ru Деструктор \en Destructor
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbeCreatorType Type() const; // \ru Получить групповой тип объекта. \en Get the group type of the object.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -190,13 +190,13 @@ public: // \ru Общие функции математического объе
|
||||
|
||||
/// \ru Построение оболочки \en Creation of a shell.
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса кривых. \en Creation of a wire-frame.
|
||||
virtual bool CreateWireFrame( MbWireFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Построение каркаса точек. \en Creation of a point-frame.
|
||||
virtual bool CreatePointFrame( MbPointFrame *& frame, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
/// \ru Переместить строитель. \en Displace the creator.
|
||||
virtual bool Perform( MbCreator * ) const;
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
, fp ( faceProp )
|
||||
, np ( new MbPlacement3D( nPlace ) )
|
||||
, edgeNb ( -1 )
|
||||
, pl ( c3d_null )
|
||||
, pl ( nullptr )
|
||||
, reverse ( rev )
|
||||
, step ( false )
|
||||
{
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
, angle ( ang )
|
||||
, faceIndices( )
|
||||
, fp ( faceProp )
|
||||
, np ( nPlace ? new MbPlacement3D( *nPlace ) : c3d_null )
|
||||
, np ( nPlace ? new MbPlacement3D( *nPlace ) : nullptr )
|
||||
, edgeNb ( edgeInd )
|
||||
, pl ( new SArray<ptrdiff_t>( partLines ) )
|
||||
, reverse ( rev )
|
||||
@@ -82,10 +82,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -98,7 +98,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private :
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
|
||||
@@ -46,10 +46,10 @@ public:
|
||||
\{ */
|
||||
/// \ru Получить регистрационный тип (для копирования, дублирования). \en Get the registration type (for copying, duplication).
|
||||
virtual MbeCreatorType IsA() const;
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru сделать копию \en create a copy
|
||||
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 Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru сделать копию \en create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru выдать свойства объекта \en get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru записать свойства объекта \en set properties of the object
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru сделать равным \en make equal
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
/** \} */
|
||||
|
||||
private :
|
||||
|
||||
@@ -111,10 +111,10 @@ public :
|
||||
\en \name Common functions of the shell creator.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
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 Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -128,7 +128,7 @@ public :
|
||||
virtual bool SetEqual( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * = nullptr ); // \ru Построение \en Construction
|
||||
/** \} */
|
||||
|
||||
private:
|
||||
|
||||
@@ -27,7 +27,7 @@ class MATH_CLASS MbCurveEvolutionSolid : public MbCurveSweptSolid {
|
||||
protected :
|
||||
MbSweptData sweptData; ///< \ru Данные об образующей. \en Generating curve data.
|
||||
SPtr<MbCurve3D> spineCurve; ///< \ru Направляющая кривая. \en Spine curve.
|
||||
SPtr<MbCurve3D> directionCurve; ///< \ru Кривая вектора ориентации матрицы преобразования (может быть c3d_null для простой траектории). \en A curve of the transformation matrix orientation (it may be c3d_null for a simple trajectory).
|
||||
SPtr<MbCurve3D> directionCurve; ///< \ru Кривая вектора ориентации матрицы преобразования (может быть nullptr для простой траектории). \en A curve of the transformation matrix orientation (it may be nullptr for a simple trajectory).
|
||||
MbVector3D direction; ///< \ru Вектор ориентации матрицы преобразования (может быть нулевой, в случае автоопределения). \en Vector of transformation matrix orientation (it's equal zero in the mode of automatic direction calculation).
|
||||
SPtr<MbSNameMaker> spineNames; ///< \ru Именователь направляющей. \en An object defining the name of the spine curve.
|
||||
EvolutionValues parameters; ///< \ru Параметры. \en Parameters.
|
||||
@@ -128,10 +128,10 @@ public :
|
||||
\en \name Common functions of the mathematical object.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
\file
|
||||
\brief \ru Строитель продления кривой.
|
||||
\en Constructor of curve extension.
|
||||
*/
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __CR_EXTENDING_CURVE_H
|
||||
#define __CR_EXTENDING_CURVE_H
|
||||
|
||||
|
||||
#include <creator.h>
|
||||
#include <op_curve_parameter.h>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Строитель продления кривой.
|
||||
\en Constructor of curve extension. \~
|
||||
\details \ru Строитель продления кривой.
|
||||
\en Constructor of curve extension. \~
|
||||
\ingroup Model_Creators
|
||||
\warning \ru В разработке.
|
||||
\en Under development. \~
|
||||
*/
|
||||
// ---
|
||||
class MATH_CLASS MbExtendCurveCreator : public MbCreator
|
||||
{
|
||||
private:
|
||||
SPtr<MbCurve3D> sourceCurve; // \ru Исходная (расширяемая) кривая. Всегда не ноль. \en Source (extended) curve. It is not nullptr. \~
|
||||
MbCurveExtensionParameters parameters; // \ru Параметры продления. \en Extension parameters. \~
|
||||
|
||||
protected:
|
||||
/// \ru Конструктор копирования. \en Copy-constructor.
|
||||
MbExtendCurveCreator( const MbExtendCurveCreator &, MbRegDuplicate * iReg );
|
||||
private:
|
||||
MbExtendCurveCreator( const MbExtendCurveCreator & ); // \ru Не реализовано \en Not implemented
|
||||
MbExtendCurveCreator(); // \ru Не реализовано. \en Not implemented.
|
||||
|
||||
public:
|
||||
/// \ru Конструктор по параметрам. \en Constructor by parameters.
|
||||
MbExtendCurveCreator( const MbCurve3D & curve, const MbCurveExtensionParameters & extendParams, const MbSNameMaker & nm );
|
||||
|
||||
/// \ru Деструктор. \en Destructor.
|
||||
~MbExtendCurveCreator() override;
|
||||
|
||||
// \ru Общие функции строителя. \en The common functions of the creator.
|
||||
MbeCreatorType IsA() const override { return ct_ExtensionCurveCreator; }; // \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. \~
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation, to prevent an assignment by default.
|
||||
void operator = ( const MbExtendCurveCreator & );
|
||||
|
||||
DECLARE_PERSISTENT_CLASS_NEW_DEL( MbExtendCurveCreator )
|
||||
};
|
||||
|
||||
IMPL_PERSISTENT_OPS( MbExtendCurveCreator )
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Создание строителя продления кривой.
|
||||
\en Create a constructor of extending curve. \~
|
||||
\details \ru Создание строителя продления кривой.\n
|
||||
\en Create a constructor of extending curve.\n \~
|
||||
\param[in] sourceCurve - \ru Исходная (удлиняемая) кривая.
|
||||
\en Source (extended) curve. \~
|
||||
\param[in] parameters - \ru Параметры удлинения.
|
||||
\en Parameters of extension. \~
|
||||
\param[in] names - \ru Именователь построенного ребра.
|
||||
\en An object defining the edges names. \~
|
||||
\param[out] res - \ru Код результата операции.
|
||||
\en Operation result code. \~
|
||||
\param[out] resCurve - \ru Возвращаемая (удлиненная) кривая. Может быть nullptr.
|
||||
\en The curve returned (extended). Can be nullptr. \~
|
||||
\result \ru Возвращает строитель.
|
||||
\en Returns the constructor. \~
|
||||
\ingroup Curve3D_Modeling
|
||||
\warning \ru В разработке.
|
||||
\en Under development. \~
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbCreator *) CreateExtendedCurve( const MbCurve3D & sourceCurve,
|
||||
const MbCurveExtensionParameters & parameters,
|
||||
const MbSNameMaker & names,
|
||||
MbResultType & res,
|
||||
MbCurve3D *& resCurve );
|
||||
|
||||
#endif // __CR_EXTENDING_CURVE_H
|
||||
@@ -46,10 +46,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -62,7 +62,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( ExtensionValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -59,7 +59,7 @@ public :
|
||||
OperationType oType,
|
||||
const MbSNameMaker & operNames,
|
||||
const RPArray<MbSNameMaker> & contoursNames,
|
||||
const c3d::CreatorsSPtrVector * creators = c3d_null,
|
||||
const c3d::CreatorsSPtrVector * creators = nullptr,
|
||||
bool sameCreators = true );
|
||||
|
||||
private :
|
||||
@@ -73,10 +73,10 @@ public :
|
||||
\en \name Common functions of the mathematical object.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента. \en A type of element.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Cделать копию. \en Make a copy.
|
||||
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.
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Cделать копию. \en Make a copy.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг. \en Move.
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта. \en Set properties of the object.
|
||||
@@ -94,7 +94,7 @@ public :
|
||||
\en \name Common functions of the rigid solid (forming operations).
|
||||
\{ */
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение. \en Construction.
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение. \en Construction.
|
||||
|
||||
virtual MbFaceShell * InitShell( bool in );
|
||||
virtual void InitBasis( RPArray<MbSpaceItem> & items );
|
||||
|
||||
@@ -60,10 +60,10 @@ public :
|
||||
// \ru Общие функции математического объекта. \en Common functions of the mathematical object.
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента. \en A type of element.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта. \en Set properties of the object.
|
||||
@@ -76,7 +76,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private :
|
||||
virtual void ReadDistances ( reader &in );
|
||||
|
||||
@@ -69,10 +69,10 @@ public :
|
||||
// \ru Переопределение функций базового класса \en The base class functions override
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -88,7 +88,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
virtual MbFaceShell * InitShell( bool in );
|
||||
virtual void InitBasis( RPArray<MbSpaceItem> & items );
|
||||
|
||||
@@ -45,15 +45,15 @@ public:
|
||||
|
||||
// \ru Общие функции строителя. \en The common functions of the creator.
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Дать имя свойства объекта \en Get the object property name
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
virtual void SetBasisPoints( const MbControlData3D & ); // \ru Изменить объект по контрольным точкам. \en Change the object by control points.
|
||||
|
||||
// \ru Построить кривую по журналу построения \en Create a curve from the history tree
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = c3d_null );
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA () const; ///< \ru Тип элемента \en Element type
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); ///< \ru Преобразовать элемент согласно матрице \en Transform an element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); ///< \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); ///< \ru Преобразовать элемент согласно матрице \en Transform an element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); ///< \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными. \en Whether the objects are similar
|
||||
@@ -58,7 +58,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); ///< \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); ///< \ru Построение \en Construction
|
||||
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
|
||||
@@ -29,7 +29,7 @@ protected :
|
||||
RPArray<MbContourOnSurface> curves; ///< \ru Плоские сечения. \en Plane sections.
|
||||
SPtr<MbCurve3D> spine; ///< \ru Осевая линия (может отсутствовать). \en Spine curve (can be absent).
|
||||
LoftedValues parameters; ///< \ru Параметры. \en Parameters.
|
||||
RPArray<MbCurve3D> * guideCurves; ///< \ru Массив направляющих кривых (может быть c3d_null). \en An array of guide curves (can be c3d_null).
|
||||
RPArray<MbCurve3D> * guideCurves; ///< \ru Массив направляющих кривых (может быть nullptr). \en An array of guide curves (can be nullptr).
|
||||
SArray<MbCartPoint3D> * userPnts; ///< \ru Пользовательские точки на сечениях. \en Custom points on the sections.
|
||||
|
||||
public:
|
||||
@@ -64,10 +64,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать \en Transform
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать \en Transform
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
|
||||
@@ -48,13 +48,13 @@ private:
|
||||
|
||||
public:
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
|
||||
// \ru Построение оболочки по исходным данным \en Construction of a shell from the given data
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
/// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MedianShellValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -42,12 +42,12 @@ public:
|
||||
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; ///< \ru Тип элемента \en Element type
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); ///< \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); ///< \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); ///< \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); ///< \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); ///< \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); ///< \ru Выдать заголовок свойства объекта \en Get name of object property
|
||||
virtual void GetProperties( MbProperties & ); ///< \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -59,7 +59,7 @@ public: // \ru Общие функции математического объе
|
||||
public:
|
||||
/// \ru Построение оболочки \en Creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MeshSurfaceValues & params ) const;
|
||||
// \ru Установить параметры. \en Set the parameters.
|
||||
|
||||
@@ -41,12 +41,12 @@ public: // \ru деструктор \en destructor
|
||||
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru сделать копию \en create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru сделать копию \en create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru сделать равным \en make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru выдать заголовок свойства объекта \en get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru выдать свойства объекта \en get properties of the object
|
||||
@@ -56,7 +56,7 @@ public: // \ru Общие функции математического объе
|
||||
|
||||
/// \ru Построение оболочки. \en creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
virtual void Refresh( MbFaceShell & outer ); ///< \ru обновить форму оболочки \en update shape of the shell
|
||||
// \ru Выдать базовые объекты. \en Get basis objects.
|
||||
virtual void GetBasisItems( RPArray<MbSpaceItem> & s );
|
||||
@@ -106,12 +106,12 @@ public: // \ru деструктор \en destructor
|
||||
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru сделать копию \en create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru сделать копию \en create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru сделать равным \en make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru выдать заголовок свойства объекта \en get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru выдать свойства объекта \en get properties of the object
|
||||
@@ -121,7 +121,7 @@ public: // \ru Общие функции математического объе
|
||||
|
||||
/// \ru построение оболочки \en creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
virtual void Refresh( MbFaceShell & outer ); ///< \ru обновить форму оболочки \en update shape of the shell
|
||||
// \ru Выдать базовые объекты. \en Get basis objects.
|
||||
virtual void GetBasisItems( RPArray<MbSpaceItem> & s );
|
||||
|
||||
@@ -62,12 +62,12 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
|
||||
/// \ru Построение оболочки \en Creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
virtual void Refresh( MbFaceShell & outer ); ///< \ru Обновить форму оболочки \en Update shape of the shell
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
|
||||
@@ -53,15 +53,15 @@ public:
|
||||
|
||||
// \ru Общие функции строителя. \en The common functions of the creator.
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Дать имя свойства объекта \en Get the object property name
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
virtual void SetBasisPoints( const MbControlData3D & ); // \ru Изменить объект по контрольным точкам. \en Change the object by control points.
|
||||
|
||||
// \ru Построить кривую по журналу построения \en Create a curve from the history tree
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = c3d_null );
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
@@ -40,12 +40,12 @@ public: // \ru Деструктор \en Destructor
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг по вектору \en Translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -57,7 +57,7 @@ public: // \ru Общие функции математического объе
|
||||
public:
|
||||
/// \ru Построение оболочки \en Creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
virtual void Refresh( MbFaceShell & outer ); ///< \ru Обновить форму оболочки \en Update shape of the shell
|
||||
|
||||
private:
|
||||
|
||||
@@ -43,7 +43,7 @@ MATH_FUNC (MbFaceShell *) CreateNurbsSurfacesShell( NurbsSurfaceValues & p
|
||||
const MbSNameMaker & operNames,
|
||||
bool isPhantom,
|
||||
MbResultType & res,
|
||||
IProgressIndicator * indicator = c3d_null );
|
||||
IProgressIndicator * indicator = nullptr );
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -65,7 +65,7 @@ MATH_FUNC (MbFaceShell *) CreateNurbsSurfacesShell( NurbsSurfaceValues & p
|
||||
// ---
|
||||
MATH_FUNC (MbResultType) CheckNurbsSurfacesShell( const NurbsSurfaceValues & params,
|
||||
const MbFaceShell & shell,
|
||||
IProgressIndicator * indicator = c3d_null );
|
||||
IProgressIndicator * indicator = nullptr );
|
||||
|
||||
|
||||
#endif // __NURBS_SURFACES_SHELL_H
|
||||
|
||||
@@ -50,12 +50,12 @@ public:
|
||||
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru сделать копию \en create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru сделать копию \en create a copy
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru сделать равным \en make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru сдвиг по вектору \en translation by a vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru выдать заголовок свойства объекта \en get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru выдать свойства объекта \en get properties of the object
|
||||
@@ -67,7 +67,7 @@ public: // \ru Общие функции математического объе
|
||||
public:
|
||||
/// \ru построение оболочки \en creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
virtual void Refresh( MbFaceShell & outer ); ///< \ru обновить форму оболочки \en update shape of the shell
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
@@ -110,7 +110,7 @@ MATH_FUNC (MbCreator *) CreateNurbsShell( NurbsSurfaceValues & parameters,
|
||||
bool isPhantom,
|
||||
MbResultType & res,
|
||||
MbFaceShell *& shell,
|
||||
IProgressIndicator * indicator = c3d_null );
|
||||
IProgressIndicator * indicator = nullptr );
|
||||
|
||||
|
||||
#endif // __CR_NURBS_SURFACES_SOLID_H
|
||||
|
||||
@@ -92,15 +92,15 @@ public :
|
||||
|
||||
// \ru Общие функции строителя. \en The common functions of the creator.
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Дать имя свойства объекта \en Get the object property name
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -113,7 +113,7 @@ public :
|
||||
virtual bool SetInternalCreators( MbeCreatorType, c3d::CreatorsSPtrVector & ); // \ru Получить внутренние построители по типу. \en Get internal creators by type.
|
||||
|
||||
// \ru Построить кривую по журналу построения \en Create a curve from the history tree
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = c3d_null );
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
@@ -32,12 +32,12 @@ class MATH_CLASS MbFaceShell;
|
||||
// ---
|
||||
class MATH_CLASS MbPatchCreator : public MbCreator {
|
||||
protected:
|
||||
std::vector<SPtr<MbCurveMate>> initCurves; ///< \ru Кривые, определяющие края заплатки. \en Curves determining the boundaries of a patch.
|
||||
PatchValues parameters; ///< \ru Параметры построения заплатки. \en Parameters of patch construction.
|
||||
std::vector<SPtr<MbCurveMate>> initCurves; ///< \ru Кривые, определяющие края заплатки. \en Curves determining the boundaries of a patch.
|
||||
PatchValues parameters; ///< \ru Параметры построения заплатки. \en Parameters of patch construction.
|
||||
/// \ru Cледующие данные имеются только, если обрабатываются ребра. \en The following data are defined only when edges are being processed.
|
||||
SArray<bool> orientations; ///< \ru Ориентация кривых для замыкания в цепь. \en Orientation of curves for enclosing into a chain.
|
||||
SArray<double> tolerances; ///< \ru Толерантности стыков кривых для замыкания в цепь. \en Tolerances of joints of curves for enclosing into a chain.
|
||||
SArray<MbeIntCurSurface> surfInds; ///< \ru Номер поверхности кривой пересечения, отвечающей существующей грани. \en Number of surface of the intersection curve corresponding to the existent face.
|
||||
SArray<bool> orientations; ///< \ru Ориентация кривых для замыкания в цепь. \en Orientation of curves for enclosing into a chain.
|
||||
SArray<double> tolerances; ///< \ru Толерантности стыков кривых для замыкания в цепь. \en Tolerances of joints of curves for enclosing into a chain.
|
||||
SArray<MbePairObjectsSelection> surfInds; ///< \ru Номер поверхности кривой пересечения, отвечающей существующей грани. \en Number of surface of the intersection curve corresponding to the existent face.
|
||||
|
||||
private :
|
||||
MbPatchCreator( const MbPatchCreator &, MbRegDuplicate * ireg );
|
||||
@@ -46,7 +46,7 @@ public :
|
||||
MbPatchCreator( const std::vector<SPtr<MbCurveMate>> & curves,
|
||||
const PatchValues & params,
|
||||
const MbSNameMaker & n,
|
||||
const SArray<MbeIntCurSurface> * surfInds,
|
||||
const SArray<MbePairObjectsSelection> * surfInds,
|
||||
const SArray<bool> * orientations,
|
||||
const SArray<double> * tolerances );
|
||||
virtual ~MbPatchCreator();
|
||||
@@ -54,10 +54,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ;
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ;
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr );
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -72,7 +72,7 @@ public :
|
||||
|
||||
// \ru Построение оболочки по исходным данным \en Construction of a shell from the given data
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( PatchValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -52,15 +52,15 @@ public:
|
||||
|
||||
// \ru Общие функции строителя. \en The common functions of the creator.
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * iReg = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Дать имя свойства объекта \en Get the object property name
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
virtual bool SetInternalCreators( MbeCreatorType, c3d::CreatorsSPtrVector & ); // \ru Получить внутренние построители по типу. \en Get internal creators by type.
|
||||
|
||||
// \ru Построить кривую по журналу построения \en Create a curve from the history tree
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = c3d_null );
|
||||
virtual bool CreateWireFrame( MbWireFrame *&, MbeCopyMode, RPArray<MbSpaceItem> * items = nullptr );
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
@@ -65,10 +65,10 @@ public :
|
||||
\en \name Common functions of the mathematical object.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
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 Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
|
||||
@@ -43,10 +43,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA () const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform ( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform ( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -60,7 +60,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&shell, MbeCopyMode sameShell,
|
||||
RPArray <MbSpaceItem> *items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray <MbSpaceItem> *items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( RibValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -46,12 +46,12 @@ public:
|
||||
|
||||
public: // \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; ///< \ru Тип элемента \en Element type
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; ///< \ru Сделать копию \en Make a copy
|
||||
virtual bool IsSame( const MbCreator &, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool SetEqual ( const MbCreator & ); ///< \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null ); ///< \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = c3d_null ); ///< \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); ///< \ru Преобразовать по матрице \en Transform according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); ///< \ru Сдвиг по вектору \en Translation by the vector
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); ///< \ru Поворот вокруг оси \en Rotation about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); ///< \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); ///< \ru Записать свойства объекта \en Write properties of the object
|
||||
@@ -63,7 +63,7 @@ public: // \ru Общие функции математического объе
|
||||
public:
|
||||
/// \ru Построение оболочки \en Creation of a shell
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null );
|
||||
RPArray<MbSpaceItem> * items = nullptr );
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( RuledSurfaceValues & params ) const;
|
||||
// \ru Установить параметры. \en Set the parameters.
|
||||
|
||||
@@ -54,10 +54,10 @@ public :
|
||||
\en \name Common functions of the mathematical object.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -75,7 +75,7 @@ public :
|
||||
\en \name Common functions of the rigid solid (forming operations).
|
||||
\{ */
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
virtual void SetYourVersion( VERSION version );
|
||||
/** \} */
|
||||
|
||||
@@ -47,15 +47,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
|
||||
@@ -58,14 +58,14 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbBendByEdgeValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -49,15 +49,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbBendOverSegValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -50,15 +50,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
@@ -122,7 +122,7 @@ MATH_FUNC (MbCreator *) CreateBendUnbend( SPtr<MbFaceShell> & init
|
||||
const MbSNameMaker & names,
|
||||
MbResultType & res,
|
||||
MbFaceShell *& shell,
|
||||
RPArray<MbContour3D> * ribContours = c3d_null );
|
||||
RPArray<MbContour3D> * ribContours = nullptr );
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -44,15 +44,15 @@ public:
|
||||
// \ru Общие функции математического объекта. \en Common functions of the mathematical object.
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента. \en A type of element.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию. \en Create a copy.
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию. \en Create a copy.
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным. \en Make equal.
|
||||
|
||||
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 Translation.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг. \en Translation.
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси. \en Rotate around an axis.
|
||||
|
||||
virtual void GetProperties ( MbProperties & properties ); // \ru Выдать свойства объекта. \en Get properties of the object.
|
||||
virtual void SetProperties ( const MbProperties & properties ); // \ru Записать свойства объекта. \en Set properties of the object.
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
// \ru Общие функции твердого тела. \en Common functions of solid.
|
||||
|
||||
// \ru Построение оболочки листового тела. \en Construction of a sheet metal shell.
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell, RPArray <MbSpaceItem> *items = c3d_null );
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell, RPArray <MbSpaceItem> *items = nullptr );
|
||||
// \ru Получить параметры. \en Get the parameters.
|
||||
void GetParameters( MbSolidToSheetMetalValues & params ) const { params = parameters; }
|
||||
// \ru Установить параметры. \en Set the parameters.
|
||||
|
||||
@@ -50,15 +50,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbClosedCornerValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -57,15 +57,15 @@ public:
|
||||
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbJointBendValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -82,10 +82,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -101,7 +101,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
virtual MbFaceShell * InitShell( bool in );
|
||||
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
\file
|
||||
\brief \ru Нормализация отверстий листовых тел.
|
||||
\en Normalization of the holes of sheet solid. \~
|
||||
|
||||
*/
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __CR_SHEET_NORMALIZE_HOLES_SOLID_H
|
||||
#define __CR_SHEET_NORMALIZE_HOLES_SOLID_H
|
||||
|
||||
|
||||
#include <creator.h>
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Строитель нормализации отверстий листовых тел.
|
||||
\en Constructor of the normalization of the holes of sheet solid. \~
|
||||
\details \ru Строитель нормализации отверстий листовых тел. \n
|
||||
\en Constructor of the normalization of the holes of sheet solid.\n \~
|
||||
\ingroup Model_Creators
|
||||
*/
|
||||
// ---
|
||||
class MATH_CLASS MbNormalizeHolesSolid : public MbCreator {
|
||||
|
||||
public :
|
||||
MbNormalizeHolesSolid( const MbSNameMaker & names );
|
||||
private:
|
||||
MbNormalizeHolesSolid( const MbNormalizeHolesSolid &, MbRegDuplicate * iReg );
|
||||
// \ru Объявление конструктора копирования без реализации, чтобы не было копирования по умолчанию. \en Declaration without implementation of the copy-constructor to prevent copying by default.
|
||||
MbNormalizeHolesSolid( const MbNormalizeHolesSolid & );
|
||||
|
||||
public:
|
||||
virtual ~MbNormalizeHolesSolid();
|
||||
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
|
||||
// \ru Общие функции твердого тела \en Common functions of solid solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
MbNormalizeHolesSolid & operator = ( const MbNormalizeHolesSolid & ); // \ru Не реализовано \en Not implemented
|
||||
|
||||
DECLARE_PERSISTENT_CLASS_NEW_DEL( MbNormalizeHolesSolid )
|
||||
};
|
||||
|
||||
IMPL_PERSISTENT_OPS( MbNormalizeHolesSolid )
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** \brief \ru Нормализовать вырезы листового тела.
|
||||
\en Normalize of the holes of sheet solid. \~
|
||||
\details \ru Нормализовать вырезы листового тела. \n
|
||||
\en Normalize of the holes of sheet solid. \n \~
|
||||
\param[in] initialShell - \ru Исходная оболочка.
|
||||
\en The source shell. \~
|
||||
\param[in] sameShell - \ru Флаг удаления оболочки исходного тела.
|
||||
\en Whether to delete the shell of the source solid. \~
|
||||
\param[in] nameMaker - \ru Именователь.
|
||||
\en An object for naming the new objects. \~
|
||||
\param[out] res - \ru Код результата операции.
|
||||
\en Operation result code. \~
|
||||
\param[out] shell - \ru Построенная оболочка.
|
||||
\en The resultant shell. \~
|
||||
\result \ru Возвращает строитель оболочки.
|
||||
\en Returns the shell constructor. \~
|
||||
\ingroup Sheet_Metal_Modeling
|
||||
*/
|
||||
// ---
|
||||
MATH_FUNC (MbCreator *) NormalizeHolesSides ( MbFaceShell & initialShell,
|
||||
const MbeCopyMode sameShell,
|
||||
const MbSNameMaker & nameMaker,
|
||||
MbResultType & res,
|
||||
MbFaceShell *& shell );
|
||||
#endif // __CR_SHEET_NORMALIZE_HOLES_SOLID_H
|
||||
@@ -45,15 +45,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D & matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D & to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D & axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
|
||||
@@ -42,15 +42,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell,
|
||||
MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private:
|
||||
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
|
||||
|
||||
@@ -43,10 +43,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * ireg = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * ireg = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * ireg = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * ireg = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * ireg = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * ireg = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -62,7 +62,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
virtual void SetYourVersion( VERSION version, bool forAll );
|
||||
|
||||
|
||||
@@ -68,10 +68,10 @@ public :
|
||||
\en \name Common functions of the shell creator.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -85,7 +85,7 @@ public :
|
||||
virtual bool SetEqual( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
/** \} */
|
||||
|
||||
const MbFaceShell * GetShell() const { return outer; } /// \ru Дать оболочку. \en Get a shell.
|
||||
@@ -158,7 +158,7 @@ bool MbSimpleCreator::DeleteShellCopies( const CreatorsVector & creators )
|
||||
size_t i;
|
||||
for ( i = 0; i < creatorsCnt; ++i ) {
|
||||
MbCreator * creator = creators[i];
|
||||
if ( creator != c3d_null ) {
|
||||
if ( creator != nullptr ) {
|
||||
if ( creator->IsA() == ct_SimpleCreator ) {
|
||||
MbSimpleCreator * simpleCreator = static_cast<MbSimpleCreator *>(creator);
|
||||
simpleShells.push_back( std::make_pair( i, simpleCreator->GetShell() ) );
|
||||
@@ -184,7 +184,7 @@ bool MbSimpleCreator::DeleteShellCopies( const CreatorsVector & creators )
|
||||
if ( shell1 && shell2 && (shell1 != shell2) ) {
|
||||
if ( shell1->IsSame( *shell2, LENGTH_EPSILON ) ) {
|
||||
sc2.SetShell( *shell1 );
|
||||
simpleShells[j].second = c3d_null;
|
||||
simpleShells[j].second = nullptr;
|
||||
isReplaced = true;
|
||||
}
|
||||
}
|
||||
@@ -194,7 +194,7 @@ bool MbSimpleCreator::DeleteShellCopies( const CreatorsVector & creators )
|
||||
std::sort( simpleShells.begin(), simpleShells.end(), ::SortByShellPointers );
|
||||
simpleShells.erase( std::unique( simpleShells.begin(), simpleShells.end(), ::AreEqualShellPointers ), simpleShells.end() );
|
||||
if ( simpleShells.size() > 1 ) {
|
||||
if ( simpleShells.front().second == c3d_null )
|
||||
if ( simpleShells.front().second == nullptr )
|
||||
simpleShells.erase( simpleShells.begin() );
|
||||
}
|
||||
}
|
||||
@@ -215,7 +215,7 @@ bool MbSimpleCreator::IsThisShell( const MbFaceShell & shell, const CreatorsVect
|
||||
if ( creators.size() > 0 ) {
|
||||
for ( size_t i = creators.size(); i--; ) {
|
||||
const MbCreator * creator = creators[i];
|
||||
if ( (creator != c3d_null) && (creator->IsA() == ct_SimpleCreator) ) {
|
||||
if ( (creator != nullptr) && (creator->IsA() == ct_SimpleCreator) ) {
|
||||
const MbSimpleCreator & simpleCreator = static_cast<const MbSimpleCreator &>(*creator);
|
||||
if ( simpleCreator.GetShell() == &shell ) {
|
||||
res = true;
|
||||
@@ -253,10 +253,10 @@ public :
|
||||
\en \name Common functions of the shell creator.
|
||||
\{ */
|
||||
virtual MbeCreatorType IsA() const; // \ru Тип элемента \en Type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const ; // \ru Сделать копию \en Create a copy
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const ; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate about an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -267,7 +267,7 @@ public :
|
||||
virtual bool IsSimilar ( const MbCreator & ) const; // \ru Являются ли объекты подобными \en Whether the objects are similar
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
/** \} */
|
||||
|
||||
DECLARE_PERSISTENT_CLASS_NEW_DEL( MbReverseCreator )
|
||||
|
||||
@@ -41,10 +41,10 @@ public :
|
||||
|
||||
virtual MbeCreatorType IsA() const = 0; // \ru Тип элемента \en A type of element
|
||||
virtual MbeCreatorType Type() const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate *iReg = c3d_null ) const = 0; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &matr, MbRegTransform * = c3d_null ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &to, MbRegTransform * = c3d_null ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &axis, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate *iReg = nullptr ) const = 0; // \ru Сделать копию \en Create a copy
|
||||
virtual void Transform( const MbMatrix3D &matr, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move( const MbVector3D &to, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate( const MbAxis3D &axis, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties( MbProperties & ) = 0; // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties( const MbProperties & ) = 0; // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -57,7 +57,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *&shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ) = 0; // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ) = 0; // \ru Построение \en Construction
|
||||
|
||||
/// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( SmoothValues & params ) const { params = parameters; }
|
||||
|
||||
+27
-27
@@ -91,7 +91,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
}
|
||||
/// \ru Конструктор по двумерному контуру в локальной системе координат. \en Constructor by two-dimensional contour in the local coordinate system.
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
SPtr<MbContour> sketchContour;
|
||||
sketchContour = same ? const_cast<MbContour *>(&item) : static_cast<MbContour *>(&item.Duplicate());
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
C3D_ASSERT( (direction.MaxFactor() < LENGTH_EPSILON) || !direction.Orthogonal( place.GetAxisZ(), ANGLE_EPSILON ) );
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
::AddRefItems( items, same, sketchContours );
|
||||
}
|
||||
@@ -150,7 +150,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
C3D_ASSERT( (direction.MaxFactor() < LENGTH_EPSILON) || !direction.Orthogonal( place.GetAxisZ(), ANGLE_EPSILON ) );
|
||||
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
::AddRefItems( items, same, spaceCurves );
|
||||
}
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
::AddRefItems( items, same, spaceCurves );
|
||||
}
|
||||
@@ -191,7 +191,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
SPtr<MbSurface> surface;
|
||||
surface = same ? const_cast<MbSurface *>(&item) : static_cast<MbSurface *>(&item.Duplicate());
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
::AddRefItems( items, same, surfaces );
|
||||
}
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
, spaceCurves ( )
|
||||
, surfaces ( )
|
||||
, creators ( )
|
||||
, solidShell ( c3d_null )
|
||||
, solidShell ( nullptr )
|
||||
{
|
||||
::AddRefItems( items, same, surfaces );
|
||||
}
|
||||
@@ -322,12 +322,12 @@ public:
|
||||
DeleteItems();
|
||||
size_t creatorsCnt = solidCreators.size();
|
||||
if ( creatorsCnt > 0 ) {
|
||||
MbRegDuplicate * iReg = c3d_null;
|
||||
MbRegDuplicate * iReg = nullptr;
|
||||
MbAutoRegDuplicate autoReg( iReg );
|
||||
SPtr<MbCreator> creator;
|
||||
creators.reserve( creatorsCnt );
|
||||
for ( size_t k = 0; k < creatorsCnt; ++k ) {
|
||||
if ( solidCreators[k] != c3d_null ) {
|
||||
if ( solidCreators[k] != nullptr ) {
|
||||
creator = sameCreators ? &const_cast<MbCreator &>( *solidCreators[k] ) : static_cast<MbCreator *>( &solidCreators[k]->Duplicate( iReg ) );
|
||||
creators.push_back( creator );
|
||||
::DetachItem( creator );
|
||||
@@ -343,17 +343,17 @@ public:
|
||||
/// \ru Являются ли объекты подобными. \en Determine whether the objects are similar.
|
||||
bool IsSimilar( const MbSplitData & ) const;
|
||||
/// \ru Преобразовать элемент согласно матрице. \en Transform element according to the matrix.
|
||||
void Transform( const MbMatrix3D &, MbRegTransform * = c3d_null );
|
||||
void Transform( const MbMatrix3D &, MbRegTransform * = nullptr );
|
||||
/// \ru Сдвинуть по вектору. \en Shift by a vector.
|
||||
void Move ( const MbVector3D &, MbRegTransform * = c3d_null );
|
||||
void Move ( const MbVector3D &, MbRegTransform * = nullptr );
|
||||
/// \ru Повернуть вокруг оси. \en Rotate about an axis.
|
||||
void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null );
|
||||
void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr );
|
||||
/// \ru Отсутствуют ли объекты? \en Are the objects absent?
|
||||
bool IsEmpty() const {
|
||||
return ( sketchContours.empty() &&
|
||||
spaceCurves.empty() &&
|
||||
surfaces.empty() &&
|
||||
(creators.empty() && (solidShell == c3d_null)) ); }
|
||||
(creators.empty() && (solidShell == nullptr)) ); }
|
||||
/// \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
bool IsSame( const MbSplitData &, double accuracy ) const;
|
||||
|
||||
@@ -377,9 +377,9 @@ public:
|
||||
/// \ru Установить направление выдавливания двумерных кривых. \en Set extrusion direction of two-dimensional curves.
|
||||
void SetSketchSense( MbeSenseValue zdir ) { sense = zdir; }
|
||||
/// \ru Получить двумерную кривую по индексу. \en Get two-dimensional curve by index.
|
||||
const MbContour * GetSketchCurve( size_t k ) const { return ((k < sketchContours.size()) ? sketchContours[k].get() : c3d_null ); }
|
||||
const MbContour * GetSketchCurve( size_t k ) const { return ((k < sketchContours.size()) ? sketchContours[k].get() : nullptr ); }
|
||||
/// \ru Получить двумерную кривую по индексу. \en Get two-dimensional curve by index.
|
||||
MbContour * SetSketchCurve( size_t k ) { return ((k < sketchContours.size()) ? sketchContours[k].get() : c3d_null ); }
|
||||
MbContour * SetSketchCurve( size_t k ) { return ((k < sketchContours.size()) ? sketchContours[k].get() : nullptr ); }
|
||||
/// \ru Получить все двумерные кривые. \en Get all two-dimensional curves.
|
||||
template <class PlaneContoursVector>
|
||||
void GetSketchCurves( PlaneContoursVector & curvs ) const
|
||||
@@ -401,9 +401,9 @@ public:
|
||||
/// \ru Выдать количество пространственных кривых. \en Get number of spatial curves.
|
||||
size_t GetSpaceCurvesCount() const { return spaceCurves.size(); }
|
||||
/// \ru Получить пространственную кривую по индексу. \en Get a spatial curve by index.
|
||||
const MbCurve3D * GetSpaceCurve( size_t k ) const { return ((k < spaceCurves.size()) ? spaceCurves[k].get() : c3d_null ); }
|
||||
const MbCurve3D * GetSpaceCurve( size_t k ) const { return ((k < spaceCurves.size()) ? spaceCurves[k].get() : nullptr ); }
|
||||
/// \ru Получить пространственную кривую по индексу. \en Get a spatial curve by index.
|
||||
MbCurve3D * SetSpaceCurve( size_t k ) { return ((k < spaceCurves.size()) ? spaceCurves[k].get() : c3d_null ); }
|
||||
MbCurve3D * SetSpaceCurve( size_t k ) { return ((k < spaceCurves.size()) ? spaceCurves[k].get() : nullptr ); }
|
||||
/// \ru Получить все пространственные кривые. \en Get all spatial curves.
|
||||
template <class SpaceCurvesVector>
|
||||
void GetSpaceCurves( SpaceCurvesVector & curvs ) const
|
||||
@@ -425,9 +425,9 @@ public:
|
||||
/// \ru Выдать количество поверхностей. \en Get number of surfaces.
|
||||
size_t GetSurfacesCount() const { return surfaces.size(); }
|
||||
/// \ru Получить поверхность по индексу. \en Get a surface by index.
|
||||
const MbSurface * GetSurface( size_t k ) const { return ((k < surfaces.size()) ? surfaces[k].get() : c3d_null); }
|
||||
const MbSurface * GetSurface( size_t k ) const { return ((k < surfaces.size()) ? surfaces[k].get() : nullptr); }
|
||||
/// \ru Получить поверхность по индексу. \en Get a surface by index.
|
||||
MbSurface * SetSurface( size_t k ) { return ((k < surfaces.size()) ? surfaces[k].get() : c3d_null); }
|
||||
MbSurface * SetSurface( size_t k ) { return ((k < surfaces.size()) ? surfaces[k].get() : nullptr); }
|
||||
/// \ru Получить все поверхности. \en Get all surfaces.
|
||||
template <class SurfacesVector>
|
||||
void GetSurfaces( SurfacesVector & surfs ) const
|
||||
@@ -449,9 +449,9 @@ public:
|
||||
/// \ru Выдать количество строителей тела. \en Get number of solid creators.
|
||||
size_t GetCreatorsCount() const { return creators.size(); }
|
||||
/// \ru Получить строитель по индексу. \en Get constructor by index.
|
||||
const MbCreator * GetCreator( size_t k ) const { return ((k < creators.size()) ? creators[k].get() : c3d_null ); }
|
||||
const MbCreator * GetCreator( size_t k ) const { return ((k < creators.size()) ? creators[k].get() : nullptr ); }
|
||||
/// \ru Получить строитель по индексу. \en Get constructor by index.
|
||||
MbCreator * SetCreator( size_t k ) { return ((k < creators.size()) ? creators[k].get() : c3d_null ); }
|
||||
MbCreator * SetCreator( size_t k ) { return ((k < creators.size()) ? creators[k].get() : nullptr ); }
|
||||
/// \ru Получить все строители. \en Get all creators.
|
||||
template <class CreatorsVector>
|
||||
void GetCreators( CreatorsVector & crs ) const
|
||||
@@ -468,17 +468,17 @@ public:
|
||||
template <class CreatorsVector>
|
||||
void GetCreatorsCopies( CreatorsVector & crs ) const
|
||||
{
|
||||
MbRegDuplicate * iReg = c3d_null;
|
||||
MbRegDuplicate * iReg = nullptr;
|
||||
MbAutoRegDuplicate autoReg( iReg );
|
||||
|
||||
crs.reserve( crs.size() + creators.size() );
|
||||
c3d::CreatorSPtr creator;
|
||||
for ( size_t k = 0, addCnt = creators.size(); k < addCnt; ++k ) {
|
||||
if ( creators[k] != c3d_null )
|
||||
if ( creators[k] != nullptr )
|
||||
creator = static_cast<MbCreator *>( &creators[k]->Duplicate( iReg ) );
|
||||
crs.push_back( creator );
|
||||
::DetachItem( creator );
|
||||
creator = c3d_null;
|
||||
creator = nullptr;
|
||||
}
|
||||
}
|
||||
/// \ru Получить все строители. \en Get all creators.
|
||||
|
||||
@@ -41,10 +41,10 @@ public :
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA () const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const;
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const;
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties( MbProperties & ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -58,7 +58,7 @@ public :
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
private: // \ru Не реализовано \en Not implemented
|
||||
// \ru Объявление конструктора копирования без реализации, чтобы не было копирования по умолчанию. \en Declaration without implementation of the copy-constructor to prevent copying by default.
|
||||
|
||||
@@ -67,15 +67,15 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA () const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual MbePrompt GetPropertyName(); // \ru Выдать заголовок свойства объекта \en Get a name of object property
|
||||
virtual void GetProperties ( MbProperties &properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbBeadValues & params ) const { params = parameters; }
|
||||
|
||||
@@ -66,13 +66,13 @@ public:
|
||||
// \ru Общие функции математического объекта \en Common functions of the mathematical object
|
||||
|
||||
virtual MbeCreatorType IsA () const; // \ru Тип элемента \en A type of element
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = c3d_null ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual MbCreator & Duplicate( MbRegDuplicate * = nullptr ) const; // \ru Сделать копию \en Create a copy
|
||||
virtual bool IsSame ( const MbCreator & other, double accuracy ) const; // \ru Являются ли объекты равными? \en Determine whether an object is equal?
|
||||
virtual bool IsSimilar( const MbCreator & item ) const; // \ru Являются ли объекты подобными? \en Determine whether an object is similar?
|
||||
virtual bool SetEqual ( const MbCreator & ); // \ru Сделать равным \en Make equal
|
||||
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 Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = c3d_null ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
virtual void Transform( const MbMatrix3D &, MbRegTransform * = nullptr ); // \ru Преобразовать элемент согласно матрице \en Transform element according to the matrix
|
||||
virtual void Move ( const MbVector3D &, MbRegTransform * = nullptr ); // \ru Сдвиг \en Translation
|
||||
virtual void Rotate ( const MbAxis3D &, double angle, MbRegTransform * = nullptr ); // \ru Повернуть вокруг оси \en Rotate around an axis
|
||||
|
||||
virtual void GetProperties ( MbProperties &properties ); // \ru Выдать свойства объекта \en Get properties of the object
|
||||
virtual void SetProperties ( const MbProperties &properties ); // \ru Записать свойства объекта \en Set properties of the object
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
// \ru Общие функции твердого тела \en Common functions of solid
|
||||
|
||||
virtual bool CreateShell( MbFaceShell *& shell, MbeCopyMode sameShell,
|
||||
RPArray<MbSpaceItem> * items = c3d_null ); // \ru Построение \en Construction
|
||||
RPArray<MbSpaceItem> * items = nullptr ); // \ru Построение \en Construction
|
||||
|
||||
// \ru Дать параметры. \en Get the parameters.
|
||||
void GetParameters( MbJalousieValues & params ) const { params = parameters; }
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user