Greatly improved rendering of frame and decorators. Creation of a

DrawVisitor to selectively draw single nodes (for overlay of frame in
GeometryView)
This commit is contained in:
brunoherbelin
2020-06-02 00:23:49 +02:00
parent 7b4408ece6
commit c0572faabf
17 changed files with 642 additions and 407 deletions

42
DrawVisitor.h Normal file
View File

@@ -0,0 +1,42 @@
#ifndef DRAWVISITOR_H
#define DRAWVISITOR_H
#include <glm/glm.hpp>
#include "Visitor.h"
class DrawVisitor : public Visitor
{
glm::mat4 modelview_;
glm::mat4 projection_;
Node *target_;
bool done_;
public:
DrawVisitor(Node *nodetodraw, glm::mat4 projection);
void visit(Scene& n) override;
void visit(Node& n) override;
void visit(Group& n) override;
void visit(Switch& n) override;
void visit(Animation& n) override;
void visit(Primitive& n) override;
void visit(Surface& n) override;
void visit(ImageSurface& n) override;
void visit(MediaSurface& n) override;
void visit(FrameBufferSurface& n) override;
void visit(LineStrip& n) override;
void visit(LineSquare&) override;
void visit(LineCircle& n) override;
void visit(Mesh& n) override;
void visit(Frame& n) override;
void visit(MediaPlayer& n) override;
void visit(Shader& n) override;
void visit(ImageShader& n) override;
void visit(ImageProcessingShader& n) override;
void visit (Source& s) override;
void visit (MediaSource& s) override;
};
#endif // DRAWVISITOR_H