Picking Nodes in Mixing view and grabbing associated source to modify

alpha
This commit is contained in:
brunoherbelin
2020-04-23 00:36:32 +02:00
parent cbc2eb4bdc
commit 5e58915282
12 changed files with 240 additions and 73 deletions

42
SearchVisitor.h Normal file
View File

@@ -0,0 +1,42 @@
#ifndef SEARCHVISITOR_H
#define SEARCHVISITOR_H
#include "Visitor.h"
class SearchVisitor: public Visitor
{
Node *node_;
int id_;
bool found_;
public:
SearchVisitor(Node *node);
SearchVisitor(int id);
inline bool found() const { return found_; }
inline Node *node() const { return found_ ? node_ : nullptr; }
// Elements of Scene
void visit(Scene& n);
void visit(Node& n);
void visit(Group& n);
void visit(Switch& n);
// already a Node or a Group
void visit(Animation&) {}
void visit(Primitive&) {}
void visit(Surface&) {}
void visit(ImageSurface&) {}
void visit(MediaSurface&) {}
void visit(FrameBufferSurface&) {}
void visit(LineStrip&) {}
void visit(LineSquare&) {}
void visit(LineCircle&) {}
void visit(Mesh&) {}
// not nodes
void visit(MediaPlayer&) {}
void visit(Shader&) {}
void visit(ImageShader&) {}
};
#endif // SEARCHVISITOR_H