feat(engine): add geometry class

This commit is contained in:
parker
2025-06-29 20:49:30 +01:00
parent deb237e481
commit 7db66aedeb
9 changed files with 118 additions and 69 deletions

View File

@@ -0,0 +1,22 @@
#pragma once
#include "Engine/Operator/Attribute.h"
#include "Engine/Types.h"
#include <variant>
namespace enzo::geo
{
class Geometry
{
public:
Geometry();
ga::AttributeHandle<int> addIntAttribute(ga::AttributeOwner owner, std::string name);
std::shared_ptr<ga::Attribute> getAttribByName(ga::AttributeOwner owner, std::string name);
private:
using attribVector = std::vector<std::shared_ptr<ga::Attribute>>;
attribVector& getOwnerVector(ga::AttributeOwner& owner);
attribVector pointAttributes_;
attribVector vertexAttributes_;
attribVector primitiveAttributes_;
attribVector globalAttributes_;
};
}