3#include "EditorExtension.h"
5#include "Components/Core/SceneComponent.h"
6#include "Components/Core/MeshComponent.h"
7#include "Components/Core/MeshRenderComponent.h"
8#include "Components/Core/TransformComponent.h"
10#include "EditorState.h"
12#include "Foundation/ComponentModel/ComponentPtr.h"
13#include "Foundation/Memory/MemoryBuffer.h"
28 class TransformComponent;
29 class MeshRenderComponent;
30 struct MaterialInstance;
47 void copy(
const MeshRep & other);
49 typedef std::vector<MeshRep> MeshReps;
53 bool discardNormals =
false;
54 bool discardTexCoords =
false;
55 bool discardTangents =
false;
56 bool forceIndexed =
false;
62 uint32_t parent = ~0u;
73 uint32_t parent = ~0u;
77 std::vector<TransformItem> transforms;
78 std::vector<MeshItem> meshes;
81 COGSCORE_EDITOR_API
void getMeshItems(
Context* context,
MeshItems& items,
EntityPtr entity, uint32_t primitiveTypeMask = ~0u);
83 COGSCORE_EDITOR_API
void getMeshItems(
Context* context,
MeshItems& items, Cogs::Core::EntityIds entities, uint32_t primitiveTypeMask = ~0u);
85 COGSCORE_EDITOR_API
void remapVertices(
Context* context,
MeshRep& rep,
const std::vector<uint32_t>& unique);
87 COGSCORE_EDITOR_API
void remapIndices(
Context* context,
MeshRep& rep,
const std::vector<uint32_t>& map);
91 COGSCORE_EDITOR_API
void packMeshItems(
Context* context, std::vector<MeshHandle>& originalMeshes, MeshReps& meshes,
MeshItems& items,
bool update =
true);
A shared_pointer type pointer to a component in an entity.
Container for components, providing composition of dynamic entities.
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Contains code for composing and managing entities built from components.
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
std::shared_ptr< ComponentModel::Entity > EntityPtr
Smart pointer for Entity access.
Material instances represent a specialized Material combined with state for all its buffers and prope...