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
@@ -16,13 +16,12 @@
#include "Connector.h"
//######################################################################################################################
class A3DVisitorContainer;
class A3DModelFileConnector : public A3DConnector
class A3DModelFileConnector: public A3DConnector
{
public:
A3DModelFileConnector(const A3DAsmModelFile* pModelFile) : A3DConnector(pModelFile)
A3DModelFileConnector(const A3DAsmModelFile* pModelFile): A3DConnector(pModelFile)
{
A3D_INITIALIZE_DATA(A3DAsmModelFileData, m_sModelFileData);
A3DAsmModelFileGet(pModelFile, &m_sModelFileData);
@@ -33,12 +32,11 @@ public:
A3DStatus Traverse(A3DVisitorContainer* psVisitor, bool bVisitPrototype = false);
public:
A3DAsmModelFileData m_sModelFileData;
};
//######################################################################################################################
class A3DProductOccurrenceConnector : public A3DConnector
class A3DProductOccurrenceConnector: public A3DConnector
{
friend class A3DModelFileConnector;
const A3DAsmProductOccurrence* m_pFather;
@@ -47,9 +45,8 @@ class A3DProductOccurrenceConnector : public A3DConnector
bool m_bIsExternal;
private:
A3DProductOccurrenceConnector(const A3DAsmProductOccurrence* pProductOccurrence)
: A3DConnector(pProductOccurrence)
A3DProductOccurrenceConnector(const A3DAsmProductOccurrence* pProductOccurrence):
A3DConnector(pProductOccurrence)
{
m_pFather = NULL;
m_bIsInstanciated = false;
@@ -59,16 +56,13 @@ private:
m_bIsExternal = false;
}
~A3DProductOccurrenceConnector() { A3DAsmProductOccurrenceGet(NULL, &m_sProductOccurrenceData); }
~A3DProductOccurrenceConnector() { A3DAsmProductOccurrenceGet(NULL, &m_sProductOccurrenceData); }
A3DStatus TraversePO(const A3DAsmProductOccurrence* pOccurrence, A3DVisitorContainer* psVisitor, bool bVisitPrototype = false);
A3DStatus TraversePO(A3DVisitorContainer* psVisitor, bool bVisitPrototype = false);
void SetProductOccurrenceFather(const A3DAsmProductOccurrence* pFather) { m_pFather = pFather; }
public:
A3DStatus GetPart(A3DAsmPartDefinition*& pPart) const;
A3DStatus CollectSons(std::vector<A3DAsmProductOccurrence*>& apSons) const;
A3DAsmProductOccurrenceData m_sProductOccurrenceData;
const A3DAsmProductOccurrence* GetProductOccurrenceFather() { return m_pFather; }
void SetIsInstanciated(bool bIsInstanciated) { m_bIsInstanciated = bIsInstanciated; }
@@ -80,47 +74,13 @@ public:
};
//######################################################################################################################
class A3DPartConnector : public A3DConnector
class A3DRiConnector: public A3DConnector
{
friend class A3DProductOccurrenceConnector;
const A3DAsmProductOccurrence* m_pFather;
bool m_bIsInstanciated;
private:
A3DPartConnector(const A3DAsmPartDefinition *pPart) : A3DConnector(pPart)
{
m_pFather = NULL;
m_bIsInstanciated = false;
A3D_INITIALIZE_DATA(A3DAsmPartDefinitionData, m_sPartData);
A3DAsmPartDefinitionGet(pPart, &m_sPartData);
}
~A3DPartConnector()
{
A3DAsmPartDefinitionGet(NULL, &m_sPartData);
}
void SetProductOccurenceFather(const A3DAsmProductOccurrence* pFather) { m_pFather = pFather; }
public:
A3DStatus TraversePart(A3DVisitorContainer* psVisitor) const;
A3DAsmPartDefinitionData m_sPartData;
const A3DAsmProductOccurrence* GetProductOccurenceFather() { return m_pFather; }
void SetIsInstanciated(bool bIsInstanciated) { m_bIsInstanciated = bIsInstanciated; }
bool IsInstanciated() { return m_bIsInstanciated; }
};
//######################################################################################################################
class A3DRiConnector : public A3DConnector
{
friend class A3DPartConnector;
friend class A3DRiSetConnector;
bool m_bIsInstanciated;
public:
A3DRiConnector(const A3DRiRepresentationItem *pRi) : A3DConnector(pRi)
A3DRiConnector(const A3DRiRepresentationItem *pRi): A3DConnector(pRi)
{
m_bIsInstanciated = false;
A3D_INITIALIZE_DATA(A3DRiRepresentationItemData, m_sRiData);
@@ -132,22 +92,23 @@ public:
A3DRiRepresentationItemGet(NULL, &m_sRiData);
}
A3DStatus TraverseRi(A3DVisitorContainer* psVisitor);
A3DStatus TraverseRi(A3DVisitorContainer* psVisitor);
public:
A3DRiRepresentationItemData m_sRiData;
void SetIsInstanciated(bool bIsInstanciated) { m_bIsInstanciated = bIsInstanciated; }
bool IsInstanciated() { return m_bIsInstanciated; }
bool IsInstanciated() { return m_bIsInstanciated; }
};
//######################################################################################################################
class A3DRiBrepModelConnector : public A3DConnector
class A3DRiBrepModelConnector: public A3DConnector
{
friend class A3DRiConnector;
public:
A3DRiBrepModelConnector(const A3DRiBrepModel *pRi) : m_pRiBrepModel(pRi), A3DConnector(pRi)
public:
A3DRiBrepModelConnector(const A3DRiBrepModel *pRi):
m_pRiBrepModel(pRi),
A3DConnector(pRi)
{
A3D_INITIALIZE_DATA(A3DRiBrepModelData, m_sRiBrepModelData);
A3DRiBrepModelGet(m_pRiBrepModel, &m_sRiBrepModelData);
@@ -166,12 +127,12 @@ public:
};
//######################################################################################################################
class A3DRiSetConnector : public A3DConnector
class A3DRiSetConnector: public A3DConnector
{
friend class A3DRiConnector;
private:
A3DRiSetConnector(const A3DRiSet *pRi) : A3DConnector(pRi)
private:
A3DRiSetConnector(const A3DRiSet *pRi): A3DConnector(pRi)
{
A3D_INITIALIZE_DATA(A3DRiSetData, m_sRiSetData);
A3DRiSetGet(pRi, &m_sRiSetData);
@@ -182,20 +143,19 @@ private:
A3DRiSetGet(NULL, &m_sRiSetData);
}
A3DStatus TraverseRiSet(A3DVisitorContainer* psVisitor);
A3DStatus TraverseRiSet(A3DVisitorContainer* psVisitor);
public:
A3DRiSetData m_sRiSetData;
};
//######################################################################################################################
class A3DPolyRiBrepModelConnector : public A3DConnector
class A3DPolyRiBrepModelConnector: public A3DConnector
{
friend class A3DRiConnector;
private:
A3DPolyRiBrepModelConnector(const A3DRiPolyBrepModel* pRi) : A3DConnector(pRi)
private:
A3DPolyRiBrepModelConnector(const A3DRiPolyBrepModel* pRi): A3DConnector(pRi)
{
A3D_INITIALIZE_DATA(A3DRiPolyBrepModelData, m_sRiPolyBrepModelData);
A3DRiPolyBrepModelGet(pRi, &m_sRiPolyBrepModelData);
@@ -212,12 +172,12 @@ public:
};
//######################################################################################################################
class A3DRiCurveConnector : public A3DConnector
class A3DRiCurveConnector: public A3DConnector
{
friend class A3DRiConnector;
private:
A3DRiCurveConnector(const A3DRiCurve* pRi) : A3DConnector(pRi)
private:
A3DRiCurveConnector(const A3DRiCurve* pRi): A3DConnector(pRi)
{
A3D_INITIALIZE_DATA(A3DRiCurveData, m_sRiCurveData);
A3DRiCurveGet(pRi, &m_sRiCurveData);
@@ -231,17 +191,16 @@ private:
A3DStatus TraverseRiCurve(A3DVisitorContainer* psVisitor);
public:
A3DRiCurveData m_sRiCurveData;
};
//######################################################################################################################
class A3DRiPolyWireConnector : public A3DConnector
class A3DRiPolyWireConnector: public A3DConnector
{
friend class A3DRiConnector;
private:
A3DRiPolyWireConnector(const A3DRiPolyWire* pRi) : A3DConnector(pRi)
private:
A3DRiPolyWireConnector(const A3DRiPolyWire* pRi): A3DConnector(pRi)
{
A3D_INITIALIZE_DATA(A3DRiPolyWireData, m_sRiPolyWireData);
A3DRiPolyWireGet(pRi, &m_sRiPolyWireData);
@@ -255,18 +214,17 @@ private:
A3DStatus TraverseRiPolyWire(A3DVisitorContainer* psVisitor);
public:
A3DRiPolyWireData m_sRiPolyWireData;
};
//######################################################################################################################
class A3DFRMParameterConnector : public A3DConnector
class A3DFRMParameterConnector: public A3DConnector
{
friend class A3DFRMTreeConnector;
friend class A3DFRMFeatureConnector;
private:
A3DFRMParameterConnector(const A3DFRMParameter *pParameter) : A3DConnector(pParameter)
private:
A3DFRMParameterConnector(const A3DFRMParameter *pParameter): A3DConnector(pParameter)
{
A3D_INITIALIZE_DATA(A3DFRMParameterData, m_sData);
A3DFRMParameterGet(pParameter, &m_sData);
@@ -277,22 +235,19 @@ private:
A3DFRMParameterGet(NULL, &m_sData);
}
public:
A3DFRMParameterData m_sData;
A3DStatus TraverseParameter(A3DVisitorContainer* psVisitor) const;
A3DStatus TraverseParameter(A3DVisitorContainer* psVisitor) const;
};
//######################################################################################################################
class A3DFRMLinkedItemConnector : public A3DConnector
class A3DFRMLinkedItemConnector: public A3DConnector
{
friend class A3DFRMFeatureConnector;
private:
A3DFRMLinkedItemConnector(const A3DFRMLinkedItem *pLinkedItem) : A3DConnector(pLinkedItem)
private:
A3DFRMLinkedItemConnector(const A3DFRMLinkedItem *pLinkedItem): A3DConnector(pLinkedItem)
{
A3D_INITIALIZE_DATA(A3DFRMLinkedItemData, m_sData);
A3DFRMLinkedItemGet(pLinkedItem, &m_sData);
@@ -303,22 +258,19 @@ private:
A3DFRMLinkedItemGet(NULL, &m_sData);
}
public:
A3DFRMLinkedItemData m_sData;
A3DStatus TraverseConnection(A3DVisitorContainer* psVisitor) const;
A3DStatus TraverseConnection(A3DVisitorContainer* psVisitor) const;
};
//######################################################################################################################
class A3DFRMFeatureConnector : public A3DConnector
class A3DFRMFeatureConnector: public A3DConnector
{
friend class A3DFRMParameterConnector;
private:
A3DFRMFeatureConnector(const A3DFRMFeature *pFeature) : A3DConnector(pFeature)
private:
A3DFRMFeatureConnector(const A3DFRMFeature *pFeature): A3DConnector(pFeature)
{
A3D_INITIALIZE_DATA(A3DFRMFeatureData, m_sData);
A3DFRMFeatureGet(pFeature, &m_sData);
@@ -329,22 +281,19 @@ private:
A3DFRMFeatureGet(NULL, &m_sData);
}
public:
A3DFRMFeatureData m_sData;
A3DStatus TraverseFeature(A3DVisitorContainer* psVisitor) const;
A3DStatus TraverseFeature(A3DVisitorContainer* psVisitor) const;
};
//######################################################################################################################
class A3DFRMTreeConnector : public A3DConnector
{
friend class A3DProductOccurrenceConnector;
protected:
A3DFRMTreeConnector(const A3DFRMTree *pTree) : A3DConnector(pTree)
protected:
A3DFRMTreeConnector(const A3DFRMTree *pTree): A3DConnector(pTree)
{
A3D_INITIALIZE_DATA(A3DFRMTreeData, m_sTreeData);
A3DFRMTreeGet(pTree, &m_sTreeData);
@@ -355,10 +304,10 @@ protected:
A3DFRMTreeGet(NULL, &m_sTreeData);
}
A3DStatus TraverseFeatureTree(A3DVisitorContainer* psVisitor) const;
A3DStatus TraverseFeatureTree(A3DVisitorContainer* psVisitor) const;
public:
A3DFRMTreeData m_sTreeData;
};
#endif
#endif // A3D_TREE_CONNECTOR