TransformationNode.h revision bb212349dbfd131dd771f01f27db542d67fbedba
1/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 * in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 * or implied. See the License for the specific language governing permissions and limitations under
12 * the License.
13 */
14#ifndef TRANSFORMATIONNODE_H
15#define TRANSFORMATIONNODE_H
16
17#include "Matrix.h"
18#include "Program.h"
19#include "SceneGraphNode.h"
20
21class TransformationNode: public SceneGraphNode {
22public:
23    TransformationNode(Matrix* matrix);
24    virtual ~TransformationNode();
25protected:
26    virtual void before(Program& program, Matrix& model, Matrix& view,
27            Matrix& projection);
28    virtual void after(Program& program, Matrix& model, Matrix& view,
29            Matrix& projection);
30private:
31    Matrix mSavedModelMatrix;
32    Matrix* mMatrix;
33};
34
35#endif
36