EgtGeomKernel 1.9h1 :

- sistemazioni varie in CAvToolTriangle
- utilizzo di std::async in CAvToolSurfTm
- corretto GetAllTriaAroundVertex di SurfTm
- aggiunto ( nothrow) a tutti i new.
This commit is contained in:
Dario Sassi
2018-08-08 11:02:56 +00:00
parent d0fb939541
commit 866ed0b3d7
28 changed files with 618 additions and 475 deletions
+143 -143
View File
@@ -68,7 +68,7 @@ static const int POLYG_SIDE = 3 ;
IGdbExecutor*
CreateGdbExecutor( void)
{
return static_cast<IGdbExecutor*> ( new GdbExecutor) ;
return static_cast<IGdbExecutor*> ( new( nothrow) GdbExecutor) ;
}
//----------------------------------------------------------------------------
@@ -2649,7 +2649,7 @@ GdbExecutor::VolZmapCreate( const STRVECTOR& vsParams)
bTriDexel = true ;
// creo Zmap
PtrOwner<VolZmap> pZprova( new VolZmap) ;
PtrOwner<VolZmap> pZprova( new( nothrow) VolZmap) ;
pZprova->Create( ptO, dLengthX, dLengthY, dLengthZ, dPrec, bTriDexel) ;
// inserisco nel DB
@@ -2687,7 +2687,7 @@ GdbExecutor::VolZmapCreateFromFlatRegion( const STRVECTOR& vsParams)
bTriDexel = true ;
// creo Zmap
PtrOwner<VolZmap> pZprova( new VolZmap) ;
PtrOwner<VolZmap> pZprova( new( nothrow) VolZmap) ;
pZprova->CreateFromFlatRegion( *pRegion, dLengthZ, dPrec, bTriDexel) ;
// inserisco nel DB
@@ -2720,7 +2720,7 @@ GdbExecutor::VolZmapCreateFromTriMesh( const STRVECTOR& vsParams)
if ( pSurf == nullptr)
return false ;
// creo Zmap
PtrOwner<VolZmap> pZprova( new VolZmap) ;
PtrOwner<VolZmap> pZprova( new( nothrow) VolZmap) ;
pZprova->CreateFromTriMesh( * pSurf, dPrec, bType) ;
// inserisco nel DB
@@ -3013,25 +3013,25 @@ GdbExecutor::LineDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INNER_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_ONE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 5 * vtLine, ptPS + 5 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INFINITE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3083,25 +3083,25 @@ GdbExecutor::RayDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INNER_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_ONE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 5 * vtLine, ptPS + 5 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INFINITE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3157,25 +3157,25 @@ GdbExecutor::SegmentDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INNER_INT_LINE_NOT_IN_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_ONE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 5 * vtLine, ptPS + 5 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == D_INFINITE_INT_LINE_ON_PLANE) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3222,13 +3222,13 @@ GdbExecutor::LineSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3275,19 +3275,19 @@ GdbExecutor::RaySphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3339,21 +3339,21 @@ GdbExecutor::SegmentSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3406,13 +3406,13 @@ GdbExecutor::LineSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3465,19 +3465,19 @@ GdbExecutor::RaySemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3534,21 +3534,21 @@ GdbExecutor::SegmentSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3607,21 +3607,21 @@ GdbExecutor::LinCompSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
Point3d ptPS = ptP + dU1 * vtV ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3674,25 +3674,25 @@ GdbExecutor::LineInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3745,25 +3745,25 @@ GdbExecutor::RayInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3819,25 +3819,25 @@ GdbExecutor::SegmentInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3897,25 +3897,25 @@ GdbExecutor::SegmentCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3975,31 +3975,31 @@ GdbExecutor::SegmentConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4058,31 +4058,31 @@ GdbExecutor::LineTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4142,31 +4142,31 @@ GdbExecutor::RayTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4229,31 +4229,31 @@ GdbExecutor::SegmentTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 3 * vtLine, ptPS + 3 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ONE_INT_TAN) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4308,7 +4308,7 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - vtLine, ptInt + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4316,8 +4316,8 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4327,7 +4327,7 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt0, ptInt1) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4337,24 +4337,24 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
if ( vbT[0] && vbT[1] && ( ! vbT[2])) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2 - vtLine, ptInt2 + vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
AddGeoObj( "$NN", vsParams[1], Release( pLine1))) ;
}
else if ( vbT[0] && ( ! vbT[1]) && vbT[2]) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt0, ptInt2) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1, ptInt2) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4366,9 +4366,9 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
Point3d ptInt3 = ptLine + vdP[3] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4425,14 +4425,14 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - vtLine, ptInt + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == T_ONE_SEC) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4440,8 +4440,8 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4451,7 +4451,7 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt0, ptInt1) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4461,9 +4461,9 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
double dDil0 = ( vbT[0] ? 4 : 1) ;
double dDil1 = ( vbT[1] ? 4 : 1) ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4473,11 +4473,11 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4489,24 +4489,24 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
if ( vbT[0] && vbT[1] && ( ! vbT[2])) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2 - vtLine, ptInt2 + vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
AddGeoObj( "$NN", vsParams[1], Release( pLine1))) ;
}
else if ( vbT[0] && ( ! vbT[1]) && vbT[2]) {
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt0, ptInt2) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1, ptInt2) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4518,9 +4518,9 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
Point3d ptInt3 = ptLine + vdP[3] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4581,14 +4581,14 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - vtLine, ptInt + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == T_ONE_SEC) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4596,8 +4596,8 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4607,8 +4607,8 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
// inserisco nel DB
@@ -4620,9 +4620,9 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
double dDil0 = ( vbT[0] ? 4 : 1) ;
double dDil1 = ( vbT[1] ? 4 : 1) ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4632,11 +4632,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4648,11 +4648,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
if ( vbT[0] && vbT[1] && ( ! vbT[2])) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - vtLine, ptInt2 + vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4660,11 +4660,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( vbT[0] && ( ! vbT[1]) && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4672,11 +4672,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4689,9 +4689,9 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
Point3d ptInt3 = ptLine + vdP[3] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4755,14 +4755,14 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - vtLine, ptInt + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == T_ONE_SEC) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
PtrOwner<CurveLine> pLine( new CurveLine) ;
PtrOwner<CurveLine> pLine( new( nothrow) CurveLine) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4770,8 +4770,8 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4781,8 +4781,8 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
// inserisco nel DB
@@ -4794,9 +4794,9 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
double dDil0 = ( vbT[0] ? 4 : 1) ;
double dDil1 = ( vbT[1] ? 4 : 1) ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4806,11 +4806,11 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4822,11 +4822,11 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
if ( vbT[0] && vbT[1] && ( ! vbT[2])) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - vtLine, ptInt2 + vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4834,11 +4834,11 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( vbT[0] && ( ! vbT[1]) && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4846,11 +4846,11 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
PtrOwner<CurveLine> pLine2( new CurveLine) ;
PtrOwner<CurveLine> pLine2( new( nothrow) CurveLine) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4863,9 +4863,9 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
Point3d ptInt2 = ptLine + vdP[2] * vtLine ;
Point3d ptInt3 = ptLine + vdP[3] * vtLine ;
PtrOwner<CurveLine> pLine0( new CurveLine) ;
PtrOwner<CurveLine> pLine0( new( nothrow) CurveLine) ;
pLine0->Set( ptInt0, ptInt1) ;
PtrOwner<CurveLine> pLine1( new CurveLine) ;
PtrOwner<CurveLine> pLine1( new( nothrow) CurveLine) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&