OdysseyDecomp/lib/al/include/Project/Play/Graphics/IUseGridMesh.h
MonsterDruide1 69d81ebd91
Custom format validation (Linting) (#17)
* Add script to verify formatting
* Add newline to end of files
* Add `#pragma once` to top of headers
* Add own header to includes at top of source files
* Remove useless namespace qualifiers
* Sort visibility modifiers correctly
* Format `#include`s in three blocks
* Remove `;` after namespaces
* Add for custom style checking to `lint`-GitHub-Action
* Format: No "// 0x" offset comments
* Remove macros from padding
2024-01-07 00:33:09 +01:00

31 lines
967 B
C++

#pragma once
#include <basis/seadTypes.h>
#include <common/aglDrawContext.h>
#include "Library/HostIO/HioNode.h"
namespace agl {
class IndexStream;
}
namespace al {
class QuadNode;
class MeshQuadtree;
class IUseGridMesh : public IUseHioNode {
virtual void finalize() = 0;
virtual s32 getGridMeshType() const = 0;
virtual s32 getGridNum() const = 0;
virtual s32 getLodNum() const = 0;
virtual void calcMeshScaleLod(const QuadNode& node, s32) const = 0;
virtual agl::IndexStream* getIndexStream() const = 0;
virtual const char* getName() const = 0;
virtual void activateVertexAttribute(agl::DrawContext* drawContext, s32) const = 0;
virtual void drawTreeMesh(agl::DrawContext*, const MeshQuadtree&, const QuadNode&, f32,
s32) = 0;
virtual void drawArrayMesh(agl::DrawContext* drawContext, const QuadNode& node, s32, s32, s32,
s32, s32) = 0;
};
} // namespace al