diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc
index 74d7bb5..c57e3bf 100644
Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ
diff --git a/EgtGeomKernel.vcxproj b/EgtGeomKernel.vcxproj
index cabd15e..1678055 100644
--- a/EgtGeomKernel.vcxproj
+++ b/EgtGeomKernel.vcxproj
@@ -411,6 +411,7 @@ copy $(TargetPath) \EgtProg\Dll64
+
@@ -429,6 +430,8 @@ copy $(TargetPath) \EgtProg\Dll64
+
+
@@ -448,7 +451,7 @@ copy $(TargetPath) \EgtProg\Dll64
-
+
@@ -465,24 +468,40 @@ copy $(TargetPath) \EgtProg\Dll64
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtGeomKernel.vcxproj.filters b/EgtGeomKernel.vcxproj.filters
index d182915..f693099 100644
--- a/EgtGeomKernel.vcxproj.filters
+++ b/EgtGeomKernel.vcxproj.filters
@@ -644,9 +644,6 @@
File di intestazione\Include
-
- File di intestazione\Include
-
File di intestazione\Include
@@ -665,18 +662,12 @@
File di intestazione\Include
-
- File di intestazione\Include
-
File di intestazione\Include
File di intestazione\Include
-
- File di intestazione\Include
-
File di intestazione\Include
@@ -722,9 +713,6 @@
File di intestazione
-
- File di intestazione\Include
-
File di intestazione\Include
@@ -890,6 +878,75 @@
File di intestazione\Include
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
+
+ File di intestazione\Include
+
diff --git a/GdbExecutor.cpp b/GdbExecutor.cpp
index 523c73c..549bb5f 100644
--- a/GdbExecutor.cpp
+++ b/GdbExecutor.cpp
@@ -19,6 +19,8 @@
#include "GeoConst.h"
#include "GeomDB.h"
#include "DllMain.h"
+#include "CurveLine.h"
+#include "SurfTriMesh.h"
#include "VolZmap.h"
#include "IntersLineSurfStd.h"
#include "CAvToolTriangle.h"
@@ -27,7 +29,6 @@
#include "/EgtDev/Include/EGkGeoPoint3d.h"
#include "/EgtDev/Include/EGkGeoVector3d.h"
#include "/EgtDev/Include/EGkGeoFrame3d.h"
-#include "/EgtDev/Include/EGkCurveLine.h"
#include "/EgtDev/Include/EGkCurveAux.h"
#include "/EgtDev/Include/EGkLinePntTgCurve.h"
#include "/EgtDev/Include/EGkLineTgTwoCurves.h"
@@ -44,7 +45,6 @@
#include "/EgtDev/Include/EGkChainCurves.h"
#include "/EgtDev/Include/EGkBiArcs.h"
#include "/EgtDev/Include/EGkCurveByInterp.h"
-#include "/EgtDev/Include/EGkSurfTriMesh.h"
#include "/EgtDev/Include/EGkExtText.h"
#include "/EgtDev/Include/EGkStmFromCurves.h"
#include "/EgtDev/Include/EGkStmFromTriangleSoup.h"
@@ -3142,25 +3142,25 @@ GdbExecutor::LineDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3212,25 +3212,25 @@ GdbExecutor::RayDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3286,25 +3286,25 @@ GdbExecutor::SegmentDiscInters( const STRVECTOR& vsParams)
if ( nIntType == D_NO_INTERS)
int nSol = 0 ;
if ( nIntType == D_BOUNDARY_INT_LINE_NOT_IN_PLANE) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3351,13 +3351,13 @@ GdbExecutor::LineSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3404,19 +3404,19 @@ GdbExecutor::RaySphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3468,21 +3468,21 @@ GdbExecutor::SegmentSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3535,13 +3535,13 @@ GdbExecutor::LineSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3594,19 +3594,19 @@ GdbExecutor::RaySemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_NO_INTERS)
int nSol = 0 ;
if ( nIntType == S_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj (vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nIntType == S_ONE_INT_TAN) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtV, ptPS + vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3663,21 +3663,21 @@ GdbExecutor::SegmentSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3736,21 +3736,21 @@ GdbExecutor::LinCompSemiSphereInters( const STRVECTOR& vsParams)
if ( nIntType == S_TWO_INT) {
Point3d ptPS = ptP + dU1 * vtV ;
Point3d ptPE = ptP + dU2 * vtV ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 3 * vtV, ptPS + 3 * vtV) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3803,25 +3803,25 @@ GdbExecutor::LineInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3874,25 +3874,25 @@ GdbExecutor::RayInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -3948,25 +3948,25 @@ GdbExecutor::SegmentInfiniteCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4026,25 +4026,25 @@ GdbExecutor::SegmentCylinderInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4104,31 +4104,31 @@ GdbExecutor::SegmentConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4187,31 +4187,31 @@ GdbExecutor::LineTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4271,31 +4271,31 @@ GdbExecutor::RayTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4358,31 +4358,31 @@ GdbExecutor::SegmentTruncateConeInters( const STRVECTOR& vsParams)
if ( nTypeInt == CC_NO_INTERS)
int nSol = 0 ;
if ( nTypeInt == CC_ONE_INT_SEC) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - vtLine, ptPS + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_TWO_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_INF_INT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS, ptPE) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
if ( nTypeInt == CC_ON_VERT) {
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptPS - 6 * vtLine, ptPS + 6 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4437,7 +4437,7 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt - vtLine, ptInt + vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4445,8 +4445,8 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4456,7 +4456,7 @@ GdbExecutor::LineTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt0, ptInt1) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4466,24 +4466,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0, ptInt1) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt0, ptInt2) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
- PtrOwner pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1, ptInt2) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4495,9 +4495,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0, ptInt1) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4554,14 +4554,14 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4569,8 +4569,8 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4580,7 +4580,7 @@ GdbExecutor::RayTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt0, ptInt1) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4590,9 +4590,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4602,11 +4602,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
- PtrOwner pLine2( new( nothrow) CurveLine) ;
+ PtrOwner pLine2( CreateBasicCurveLine()) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4618,24 +4618,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0, ptInt1) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt0, ptInt2) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
- PtrOwner pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1, ptInt2) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4647,9 +4647,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0, ptInt1) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4710,14 +4710,14 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4725,8 +4725,8 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4736,8 +4736,8 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
// inserisco nel DB
@@ -4749,9 +4749,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4761,11 +4761,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
- PtrOwner pLine2( new( nothrow) CurveLine) ;
+ PtrOwner pLine2( CreateBasicCurveLine()) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4777,11 +4777,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
- PtrOwner pLine2( new( nothrow) CurveLine) ;
+ PtrOwner pLine2( CreateBasicCurveLine()) ;
pLine2->Set( ptInt2 - vtLine, ptInt2 + vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4789,11 +4789,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( vbT[0] && ( ! vbT[1]) && vbT[2]) {
- PtrOwner pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
- PtrOwner pLine2( new( nothrow) CurveLine) ;
+ PtrOwner pLine2( CreateBasicCurveLine()) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4801,11 +4801,11 @@ GdbExecutor::SegmentTorusInters( const STRVECTOR& vsParams)
AddGeoObj( "$NN", vsParams[1], Release( pLine2))) ;
}
else if ( ( ! vbT[0]) && vbT[1] && vbT[2]) {
- PtrOwner pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
- PtrOwner pLine2( new( nothrow) CurveLine) ;
+ PtrOwner pLine2( CreateBasicCurveLine()) ;
pLine2->Set( ptInt2 - 4 * vtLine, ptInt2 + 4 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4818,9 +4818,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0, ptInt1) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt2, ptInt3) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4884,14 +4884,14 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
int nSol = 0 ;
if ( nTypeInt == T_ONE_TAN) {
Point3d ptInt = ptLine + vdP[0] * vtLine ;
- PtrOwner pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
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 pLine( new( nothrow) CurveLine) ;
+ PtrOwner pLine( CreateBasicCurveLine()) ;
pLine->Set( ptInt - 4 * vtLine, ptInt + 4 * vtLine) ;
// inserisco nel DB
return AddGeoObj( vsParams[0], vsParams[1], Release( pLine)) ;
@@ -4899,8 +4899,8 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_TAN) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - vtLine, ptInt0 + vtLine) ;
pLine1->Set( ptInt1 - vtLine, ptInt1 + vtLine) ;
// inserisco nel DB
@@ -4910,8 +4910,8 @@ GdbExecutor::LinCompTorusPartInters( const STRVECTOR& vsParams)
if ( nTypeInt == T_TWO_SEC) {
Point3d ptInt0 = ptLine + vdP[0] * vtLine ;
Point3d ptInt1 = ptLine + vdP[1] * vtLine ;
- PtrOwner pLine0( new( nothrow) CurveLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
pLine1->Set( ptInt1 - 4 * vtLine, ptInt1 + 4 * vtLine) ;
// inserisco nel DB
@@ -4923,9 +4923,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - dDil0 * vtLine, ptInt0 + dDil0 * vtLine) ;
- PtrOwner pLine1( new( nothrow) CurveLine) ;
+ PtrOwner pLine1( CreateBasicCurveLine()) ;
pLine1->Set( ptInt1 - dDil1 * vtLine, ptInt1 + dDil1 * vtLine) ;
// inserisco nel DB
return ( AddGeoObj( vsParams[0], vsParams[1], Release( pLine0)) &&
@@ -4935,11 +4935,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 pLine0( new( nothrow) CurveLine) ;
+ PtrOwner pLine0( CreateBasicCurveLine()) ;
pLine0->Set( ptInt0 - 4 * vtLine, ptInt0 + 4 * vtLine) ;
- PtrOwner