73 lines
2.7 KiB
C++
73 lines
2.7 KiB
C++
/***********************************************************************************************************************
|
|
*
|
|
* 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
|
|
* employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the
|
|
* scope and manner of such use.
|
|
*
|
|
***********************************************************************************************************************/
|
|
|
|
#ifndef VISIT_TREE
|
|
#define VISIT_TREE
|
|
#include "Visitors.h"
|
|
#include "VisitorContainer.h"
|
|
|
|
|
|
class A3DConnector;
|
|
class A3DVisitorContainer;
|
|
|
|
class A3DTreeVisitor : public A3DVisitor
|
|
{
|
|
friend class A3DVisitorContainer;
|
|
protected:
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning(push)
|
|
#pragma warning(disable:4251) // Suppress the warning C4251 because it leads to have that kind of warning : "warning
|
|
// C4251: 'A3DVisitorColorMaterials::m_apsCascadedAttribute' : class 'std::vector<_Ty>' needs to have dll-interface to
|
|
// be used by clients of class 'A3DVisitorColorMaterials"
|
|
// This is because of the "dllexport" on the visitor classes, as they use stl members and it seems that stl causes
|
|
// warning with dllexport with microsoft compiler
|
|
#endif // _MSC_VER
|
|
|
|
unsigned m_uOption;
|
|
void* m_pYourEntity;
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning(pop)
|
|
#endif // _MSC_VER
|
|
|
|
public:
|
|
|
|
A3DTreeVisitor(A3DVisitorContainer* psContainer = NULL) : A3DVisitor("Tree", psContainer)
|
|
{
|
|
m_uOption = 0;
|
|
m_pYourEntity = NULL;
|
|
}
|
|
|
|
virtual ~A3DTreeVisitor() {};
|
|
|
|
virtual A3DStatus visitEnter(const A3DRiBrepModelConnector& sConnector);
|
|
virtual A3DStatus visitLeave(const A3DRiBrepModelConnector& sConnector);
|
|
|
|
virtual A3DStatus visitEnter(const A3DRiSetConnector& sConnector);
|
|
virtual A3DStatus visitLeave(const A3DRiSetConnector& sConnector);
|
|
|
|
virtual A3DStatus visitEnter(const A3DRiConnector& sConnector);
|
|
virtual A3DStatus visitLeave(const A3DRiConnector& sConnector);
|
|
|
|
virtual A3DStatus visitEnter(const A3DPartConnector& sConnector );
|
|
virtual A3DStatus visitLeave(const A3DPartConnector& sConnector);
|
|
|
|
virtual A3DStatus visitEnter(const A3DProductOccurrenceConnector& sConnector);
|
|
virtual A3DStatus visitLeave(const A3DProductOccurrenceConnector& sConnector);
|
|
|
|
virtual A3DStatus visitEnter(const A3DMkpViewConnector& sConnector);
|
|
virtual A3DStatus visitLeave(const A3DMkpViewConnector& sConnector);
|
|
|
|
void SetYourEntity(void* pYourEnity);
|
|
|
|
};
|
|
#endif |