// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Delegate.h" #include "Brush.h" class Scene; namespace CSG { class RawData; #if COMPILE_WITH_CSG_BUILDER /// /// CSG geometry builder /// class Builder { public: /// /// Action fired when any CSG brush on scene gets edited (different dimensions or transformation etc.) /// static Delegate OnBrushModified; public: static bool IsActive(); /// /// Build CSG geometry for the given scene. /// /// The scene. /// The timeout to wait before building CSG (in milliseconds). static void Build(Scene* scene, float timeoutMs = 50); }; #endif };