#pragma once #include "Visitor\Visitors.h" class TiXmlDocument; class TiXmlElement; class MyVisitorRemoveColours : public A3DVisitor { private: const char * m_POName; A3DEntity * m_PO; unsigned int m_nbParts; unsigned int m_nbSolids; unsigned int m_nbSurfaces, m_nbSurfacesPerType[kA3DTypeSurfBlend04 - kA3DTypeSurfBase]; unsigned int m_nbCurves; unsigned int m_uiFaceCounter; std::vector m_topoRefs; bool m_bColorPos; bool m_bColorParts; bool m_bColorRis; bool m_bColorFaces; public: MyVisitorRemoveColours(A3DVisitorContainer* psContainer = NULL, bool pos = false, bool parts = false, bool ris = false, bool faces = false) : A3DVisitor("MyVisitorRemoveColours", psContainer), m_POName(NULL),m_PO(NULL), m_uiFaceCounter(0), m_bColorPos(pos), m_bColorParts(parts), m_bColorRis(ris), m_bColorFaces(faces) { } virtual ~MyVisitorRemoveColours(); virtual A3DStatus visitEnter(const A3DProductOccurrenceConnector& sConnector); virtual A3DStatus visitLeave(const A3DProductOccurrenceConnector& sConnector); virtual A3DStatus visitEnter(const A3DPartConnector& sConnector); virtual A3DStatus visitEnter(const A3DRiConnector& sConnector); virtual A3DStatus visitLeave(const A3DRiConnector& sConnector); virtual A3DStatus visitEnter(const A3DFaceConnector& sConnector); virtual A3DStatus visitLeave(const A3DFaceConnector& sConnector); virtual A3DStatus visitEnter(const A3DTessDataConnector& sConnector); virtual A3DStatus visitLeave(const A3DTessDataConnector& sConnector); virtual A3DStatus visitEnter(const A3DWireTessDataConnector& sConnector); virtual A3DStatus visitLeave(const A3DWireTessDataConnector& sConnector); virtual A3DStatus visitEnter(const A3DFaceTessDataConnector& sConnector); virtual A3DStatus visitLeave(const A3DFaceTessDataConnector& sConnector); virtual A3DStatus visitEnter(const A3DBrepDataConnector& sConnector); virtual A3DStatus visitLeave(const A3DBrepDataConnector& sConnector); };