This commit is contained in:
ninja
2025-12-15 23:22:33 +08:00
parent 019570564b
commit 8782765fbc
809 changed files with 118753 additions and 18289 deletions

View File

@@ -1,6 +1,6 @@
/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc.
* Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc.
* The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret
* as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event
* of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized
@@ -15,7 +15,7 @@
//######################################################################################################################
static int sttraverseMultipleVertex(const A3DTopoMultipleVertex* pVertex, _TiXmlElement* setting)
static A3DStatus stTraverseMultipleVertex(const A3DTopoMultipleVertex* pVertex, _TiXmlElement* setting)
{
A3DTopoMultipleVertexData sData;
A3D_INITIALIZE_DATA(A3DTopoMultipleVertexData, sData);
@@ -23,7 +23,7 @@ static int sttraverseMultipleVertex(const A3DTopoMultipleVertex* pVertex, _TiXml
_TiXmlElement* vertex = new _TiXmlElement("A3DTopoMultipleVertexData");
traverseSource(pVertex, vertex);
A3DInt32 iRet = A3DTopoMultipleVertexGet(pVertex, &sData);
A3DStatus iRet = A3DTopoMultipleVertexGet(pVertex, &sData);
if(iRet == A3D_SUCCESS)
{
traversePoints("m_pPts",sData.m_uiSize, sData.m_pPts, vertex);
@@ -31,7 +31,7 @@ static int sttraverseMultipleVertex(const A3DTopoMultipleVertex* pVertex, _TiXml
}
else
{
vertex->SetAttribute("error", iRet);
vertex->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(vertex);
@@ -39,7 +39,7 @@ static int sttraverseMultipleVertex(const A3DTopoMultipleVertex* pVertex, _TiXml
}
//######################################################################################################################
static int sttraverseUniqueVertex(const A3DTopoUniqueVertex* pVertex, _TiXmlElement* setting)
static A3DStatus stTraverseUniqueVertex(const A3DTopoUniqueVertex* pVertex, _TiXmlElement* setting)
{
A3DTopoUniqueVertexData sData;
A3D_INITIALIZE_DATA(A3DTopoUniqueVertexData, sData);
@@ -47,16 +47,16 @@ static int sttraverseUniqueVertex(const A3DTopoUniqueVertex* pVertex, _TiXmlElem
_TiXmlElement* vertex = new _TiXmlElement("A3DTopoUniqueVertexData");
traverseSource(pVertex, vertex);
A3DInt32 iRet = A3DTopoUniqueVertexGet(pVertex, &sData);
A3DStatus iRet = A3DTopoUniqueVertexGet(pVertex, &sData);
if(iRet == A3D_SUCCESS)
{
traversePoint("m_sPoint", sData.m_sPoint, vertex);
_SetDoubleAttribute(vertex, "m_dTolerance", sData.m_dTolerance);
setDoubleAttribute(vertex, "m_dTolerance", sData.m_dTolerance);
A3DTopoUniqueVertexGet(NULL, &sData);
}
else
{
vertex->SetAttribute("error", iRet);
vertex->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(vertex);
@@ -64,19 +64,19 @@ static int sttraverseUniqueVertex(const A3DTopoUniqueVertex* pVertex, _TiXmlElem
}
//######################################################################################################################
static int sttraverseVertex(const A3DTopoVertex* pVertex, _TiXmlElement* setting)
static A3DStatus stTraverseVertex(const A3DTopoVertex* pVertex, _TiXmlElement* setting)
{
A3DEEntityType eType;
A3DInt32 iRet = A3DEntityGetType(pVertex, &eType);
A3DStatus iRet = A3DEntityGetType(pVertex, &eType);
if(iRet == A3D_SUCCESS)
{
switch(eType)
{
case kA3DTypeTopoMultipleVertex:
iRet = sttraverseMultipleVertex(pVertex, setting);
iRet = stTraverseMultipleVertex(pVertex, setting);
break;
case kA3DTypeTopoUniqueVertex:
iRet = sttraverseUniqueVertex(pVertex, setting);
iRet = stTraverseUniqueVertex(pVertex, setting);
break;
default:
break;
@@ -86,7 +86,7 @@ static int sttraverseVertex(const A3DTopoVertex* pVertex, _TiXmlElement* setting
}
//######################################################################################################################
static int sttraverseEdge(const A3DTopoEdge* pEdge, _TiXmlElement* setting)
static A3DStatus stTraverseEdge(const A3DTopoEdge* pEdge, _TiXmlElement* setting)
{
A3DTopoEdgeData sData;
A3D_INITIALIZE_DATA(A3DTopoEdgeData, sData);
@@ -94,10 +94,10 @@ static int sttraverseEdge(const A3DTopoEdge* pEdge, _TiXmlElement* setting)
_TiXmlElement* edge = new _TiXmlElement("A3DTopoEdgeData");
traverseSource(pEdge, edge);
A3DInt32 iRet = A3DTopoEdgeGet(pEdge, &sData);
A3DStatus iRet = A3DTopoEdgeGet(pEdge, &sData);
if(iRet == A3D_SUCCESS)
{
_SetDoubleAttribute(edge, "m_dTolerance", sData.m_dTolerance);
setDoubleAttribute(edge, "m_dTolerance", sData.m_dTolerance);
edge->SetAttribute("m_bHasTrimDomain", (int) sData.m_bHasTrimDomain);
if(sData.m_p3dCurve)
@@ -106,15 +106,15 @@ static int sttraverseEdge(const A3DTopoEdge* pEdge, _TiXmlElement* setting)
traverseInterval(&sData.m_sInterval, edge);
if(sData.m_pStartVertex)
sttraverseVertex(sData.m_pStartVertex, edge);
stTraverseVertex(sData.m_pStartVertex, edge);
if(sData.m_pEndVertex)
sttraverseVertex(sData.m_pEndVertex, edge);
stTraverseVertex(sData.m_pEndVertex, edge);
A3DTopoEdgeGet(NULL, &sData);
}
else
{
edge->SetAttribute("error", iRet);
edge->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(edge);
@@ -122,7 +122,7 @@ static int sttraverseEdge(const A3DTopoEdge* pEdge, _TiXmlElement* setting)
}
//######################################################################################################################
static int sttraverseCoEdge(const A3DTopoCoEdge* pCoEdge, _TiXmlElement* setting)
static A3DStatus stTraverseCoEdge(const A3DTopoCoEdge* pCoEdge, _TiXmlElement* setting)
{
A3DTopoCoEdgeData sData;
A3D_INITIALIZE_DATA(A3DTopoCoEdgeData, sData);
@@ -130,11 +130,11 @@ static int sttraverseCoEdge(const A3DTopoCoEdge* pCoEdge, _TiXmlElement* setting
_TiXmlElement* coedge = new _TiXmlElement("A3DTopoCoEdgeData");
traverseSource(pCoEdge, coedge);
A3DInt32 iRet = A3DTopoCoEdgeGet(pCoEdge, &sData);
A3DStatus iRet = A3DTopoCoEdgeGet(pCoEdge, &sData);
if(iRet == A3D_SUCCESS)
{
if(sData.m_pEdge)
sttraverseEdge(sData.m_pEdge, coedge);
stTraverseEdge(sData.m_pEdge, coedge);
if(sData.m_pUVCurve)
traverseCurve(sData.m_pUVCurve, coedge);
@@ -146,7 +146,7 @@ static int sttraverseCoEdge(const A3DTopoCoEdge* pCoEdge, _TiXmlElement* setting
}
else
{
coedge->SetAttribute("error", iRet);
coedge->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(coedge);
@@ -154,7 +154,7 @@ static int sttraverseCoEdge(const A3DTopoCoEdge* pCoEdge, _TiXmlElement* setting
}
//######################################################################################################################
static int sttraverseLoop(const A3DTopoLoop* pLoop, _TiXmlElement* setting)
static A3DStatus stTraverseLoop(const A3DTopoLoop* pLoop, _TiXmlElement* setting)
{
A3DTopoLoopData sData;
A3D_INITIALIZE_DATA(A3DTopoLoopData, sData);
@@ -162,17 +162,17 @@ static int sttraverseLoop(const A3DTopoLoop* pLoop, _TiXmlElement* setting)
_TiXmlElement* loop = new _TiXmlElement("A3DTopoLoopData");
traverseSource(pLoop, loop);
A3DInt32 iRet = A3DTopoLoopGet(pLoop, &sData);
A3DStatus iRet = A3DTopoLoopGet(pLoop, &sData);
if(iRet == A3D_SUCCESS)
{
loop->SetAttribute("m_ucOrientationWithSurface", (int)(sData.m_ucOrientationWithSurface));
for(A3DUns32 ui = 0; ui < sData.m_uiCoEdgeSize; ++ui)
iRet = sttraverseCoEdge(sData.m_ppCoEdges[ui], loop);
iRet = stTraverseCoEdge(sData.m_ppCoEdges[ui], loop);
A3DTopoLoopGet(NULL, &sData);
}
else
{
loop->SetAttribute("error", iRet);
loop->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(loop);
@@ -180,7 +180,7 @@ static int sttraverseLoop(const A3DTopoLoop* pLoop, _TiXmlElement* setting)
}
//######################################################################################################################
static int sttraverseFace(const A3DTopoFace* pFace, _TiXmlElement* setting)
static A3DStatus stTraverseFace(const A3DTopoFace* pFace, _TiXmlElement* setting)
{
A3DTopoFaceData sData;
A3D_INITIALIZE_DATA(A3DTopoFaceData, sData);
@@ -188,12 +188,12 @@ static int sttraverseFace(const A3DTopoFace* pFace, _TiXmlElement* setting)
_TiXmlElement* face = new _TiXmlElement("A3DTopoFaceData");
traverseSource(pFace, face);
A3DInt32 iRet = A3DTopoFaceGet(pFace, &sData);
A3DStatus iRet = A3DTopoFaceGet(pFace, &sData);
if(iRet == A3D_SUCCESS)
{
face->SetAttribute("m_bHasTrimDomain", (int)(sData.m_bHasTrimDomain));
face->SetAttribute("m_uiOuterLoopIndex", (int)(sData.m_uiOuterLoopIndex));
_SetDoubleAttribute(face, "m_dTolerance", sData.m_dTolerance);
setDoubleAttribute(face, "m_dTolerance", sData.m_dTolerance);
traverseSurface(sData.m_pSurface, face);
@@ -201,13 +201,13 @@ static int sttraverseFace(const A3DTopoFace* pFace, _TiXmlElement* setting)
traverseDomain(&sData.m_sSurfaceDomain, face);
for(A3DUns32 ui = 0; ui < sData.m_uiLoopSize; ++ui)
iRet = sttraverseLoop(sData.m_ppLoops[ui], face);
iRet = stTraverseLoop(sData.m_ppLoops[ui], face);
A3DTopoFaceGet(NULL, &sData);
}
else
{
face->SetAttribute("error", iRet);
face->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(face);
@@ -215,7 +215,7 @@ static int sttraverseFace(const A3DTopoFace* pFace, _TiXmlElement* setting)
}
//######################################################################################################################
static int sttraverseShell(const A3DTopoShell* pShell, _TiXmlElement* setting)
static A3DStatus stTraverseShell(const A3DTopoShell* pShell, _TiXmlElement* setting)
{
A3DTopoShellData sData;
A3D_INITIALIZE_DATA(A3DTopoShellData, sData);
@@ -223,13 +223,13 @@ static int sttraverseShell(const A3DTopoShell* pShell, _TiXmlElement* setting)
_TiXmlElement* shell = new _TiXmlElement("A3DTopoShellData");
traverseSource(pShell, shell);
A3DInt32 iRet = A3DTopoShellGet(pShell, &sData);
A3DStatus iRet = A3DTopoShellGet(pShell, &sData);
if(iRet == A3D_SUCCESS)
{
shell->SetAttribute("closed", (int)(sData.m_bClosed));
for(A3DUns32 ui = 0; ui < sData.m_uiFaceSize; ++ui)
iRet = sttraverseFace(sData.m_ppFaces[ui], shell);
iRet = stTraverseFace(sData.m_ppFaces[ui], shell);
traverseUChars("m_pucOrientationWithShell",sData.m_uiFaceSize,sData.m_pucOrientationWithShell,shell);
@@ -237,7 +237,7 @@ static int sttraverseShell(const A3DTopoShell* pShell, _TiXmlElement* setting)
}
else
{
shell->SetAttribute("error", iRet);
shell->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(shell);
@@ -245,7 +245,7 @@ static int sttraverseShell(const A3DTopoShell* pShell, _TiXmlElement* setting)
}
//######################################################################################################################
static int sttraverseConnex(const A3DTopoConnex* pConnex, _TiXmlElement* setting)
static A3DStatus stTraverseConnex(const A3DTopoConnex* pConnex, _TiXmlElement* setting)
{
A3DTopoConnexData sData;
A3D_INITIALIZE_DATA(A3DTopoConnexData, sData);
@@ -253,16 +253,16 @@ static int sttraverseConnex(const A3DTopoConnex* pConnex, _TiXmlElement* setting
_TiXmlElement* connex = new _TiXmlElement("A3DTopoConnexData");
traverseSource(pConnex, connex);
A3DInt32 iRet = A3DTopoConnexGet(pConnex, &sData);
A3DStatus iRet = A3DTopoConnexGet(pConnex, &sData);
if(iRet == A3D_SUCCESS)
{
for(A3DUns32 ui = 0; ui < sData.m_uiShellSize; ++ui)
iRet = sttraverseShell(sData.m_ppShells[ui], connex);
iRet = stTraverseShell(sData.m_ppShells[ui], connex);
A3DTopoConnexGet(NULL, &sData);
}
else
{
connex->SetAttribute("error", iRet);
connex->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(connex);
@@ -270,21 +270,22 @@ static int sttraverseConnex(const A3DTopoConnex* pConnex, _TiXmlElement* setting
}
//######################################################################################################################
int traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting)
A3DStatus traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting)
{
A3DTopoBrepDataData sData;
A3D_INITIALIZE_DATA(A3DTopoBrepDataData, sData);
_TiXmlElement* brepdata = new _TiXmlElement("A3DTopoBrepDataData");
setAttributePRC2XMLID(pBrepData, brepdata);
traverseSource(pBrepData, brepdata);
unsigned char ucBehavior;
traverseBodyContent(pBrepData, brepdata,ucBehavior);
A3DInt32 iRet = A3DTopoBrepDataGet(pBrepData, &sData);
A3DStatus iRet = A3DTopoBrepDataGet(pBrepData, &sData);
if(iRet == A3D_SUCCESS)
{
for(A3DUns32 ui = 0; ui < sData.m_uiConnexSize; ++ui)
iRet = sttraverseConnex(sData.m_ppConnexes[ui], brepdata);
iRet = stTraverseConnex(sData.m_ppConnexes[ui], brepdata);
if(ucBehavior !=0)
iRet = traverseBoundingBox(&sData.m_sBoundingBox, brepdata);
@@ -293,7 +294,7 @@ int traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting)
}
else
{
brepdata->SetAttribute("error", iRet);
brepdata->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(brepdata);
@@ -301,7 +302,7 @@ int traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting)
}
//######################################################################################################################
static int sttraverseWireEdge(const A3DTopoWireEdge* pWireEdge, _TiXmlElement* setting)
static A3DStatus stTraverseWireEdge(const A3DTopoWireEdge* pWireEdge, _TiXmlElement* setting)
{
A3DTopoWireEdgeData sData;
A3D_INITIALIZE_DATA(A3DTopoWireEdgeData, sData);
@@ -309,7 +310,7 @@ static int sttraverseWireEdge(const A3DTopoWireEdge* pWireEdge, _TiXmlElement* s
_TiXmlElement* wireedge = new _TiXmlElement("A3DTopoWireEdgeData");
traverseSource(pWireEdge, wireedge);
A3DInt32 iRet = A3DTopoWireEdgeGet(pWireEdge, &sData);
A3DStatus iRet = A3DTopoWireEdgeGet(pWireEdge, &sData);
if(iRet == A3D_SUCCESS)
{
wireedge->SetAttribute("m_bHasTrimDomain", (int) sData.m_bHasTrimDomain);
@@ -324,7 +325,7 @@ static int sttraverseWireEdge(const A3DTopoWireEdge* pWireEdge, _TiXmlElement* s
}
else
{
wireedge->SetAttribute("error", iRet);
wireedge->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(wireedge);
@@ -332,7 +333,7 @@ static int sttraverseWireEdge(const A3DTopoWireEdge* pWireEdge, _TiXmlElement* s
}
//######################################################################################################################
int traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlElement* setting)
A3DStatus traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlElement* setting)
{
A3DTopoSingleWireBodyData sData;
A3D_INITIALIZE_DATA(A3DTopoSingleWireBodyData, sData);
@@ -342,15 +343,15 @@ int traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlE
unsigned char ucBehavior;
traverseBodyContent(pSingleWireBody, singlewirebody, ucBehavior);
A3DInt32 iRet = A3DTopoSingleWireBodyGet(pSingleWireBody, &sData);
A3DStatus iRet = A3DTopoSingleWireBodyGet(pSingleWireBody, &sData);
if(iRet == A3D_SUCCESS)
{
iRet = sttraverseWireEdge(sData.m_pWireEdge, singlewirebody);
iRet = stTraverseWireEdge(sData.m_pWireEdge, singlewirebody);
A3DTopoSingleWireBodyGet(NULL, &sData);
}
else
{
singlewirebody->SetAttribute("error", iRet);
singlewirebody->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
setting->LinkEndChild(singlewirebody);
@@ -358,7 +359,7 @@ int traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlE
}
//######################################################################################################################
int traverseBodyContent(const A3DTopoBody* pBody, _TiXmlElement* setting, unsigned char &ucBehavior)
A3DStatus traverseBodyContent(const A3DTopoBody* pBody, _TiXmlElement* setting, unsigned char &ucBehavior)
{
A3DInt32 iErr = A3D_SUCCESS;
A3DTopoBodyData sData;
@@ -385,17 +386,17 @@ int traverseBodyContent(const A3DTopoBody* pBody, _TiXmlElement* setting, unsign
}
//######################################################################################################################
int traverseTopoContext(const A3DTopoContext* pContext, _TiXmlElement* setting)
A3DStatus traverseTopoContext(const A3DTopoContext* pContext, _TiXmlElement* setting)
{
A3DInt32 iErr = A3D_SUCCESS;
A3DStatus iRet = A3D_SUCCESS;
A3DTopoContextData sData;
A3D_INITIALIZE_DATA(A3DTopoContextData, sData);
_TiXmlElement* topocontext = new _TiXmlElement("A3DTopoContextData");
traverseSource(pContext, topocontext);
iErr = A3DTopoContextGet(pContext, &sData);
if(iErr == A3D_SUCCESS)
iRet = A3DTopoContextGet(pContext, &sData);
if(iRet == A3D_SUCCESS)
{
topocontext->SetAttribute("m_ucBehaviour", sData.m_ucBehaviour);
topocontext->SetDoubleAttribute("m_dGranularity", sData.m_dGranularity);
@@ -409,9 +410,9 @@ int traverseTopoContext(const A3DTopoContext* pContext, _TiXmlElement* setting)
}
else
{
topocontext->SetAttribute("error", iErr);
topocontext->SetAttribute("error", iRet);
}
setting->LinkEndChild(topocontext);
return iErr;
return iRet;
}