00001 #ifndef X3DTK_MESH_CONNECTEDCOMCOMPUTER_H 00002 #define X3DTK_MESH_CONNECTEDCOMCOMPUTER_H 00003 00004 #include "MESH_ConnectedComComputerStateVariables.h" 00005 #include "X3DMultiPassProcessor.h" 00006 #include "MESH_SceneGraphTypes.h" 00007 #include "MESH_DFSGraphTraversal.h" 00008 #include "MESH_ConnectedComComputerCoreVisitor.h" 00009 #include "MESH_ConnectedComComputerMeshCoreVisitor.h" 00010 #include "MESH_Mesh.h" 00011 #include "MESH_MeshData.h" 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00022 template<class MData, class VData, class EData, class FData, bool readOnly> 00023 class ConnectedComComputer : public X3DMultiPassProcessor 00024 { 00025 public: 00027 ConnectedComComputer(); 00029 virtual ~ConnectedComComputer(); 00030 00032 void compute(X3DNode *N); 00034 void setSelectedNodes(const MFNode &selectedNodes); 00035 00036 protected: 00037 ConnectedComComputerStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00038 }; 00039 00041 typedef ConnectedComComputer<MeshData, VertexData, EdgeData, FaceData, true> DefConnectedComComputer; 00042 00043 } 00044 } 00045 00046 #include "MESH_ConnectedComComputer.inl" 00047 00048 #endif 00049