1
0
KF2-Dev-Scripts/UnrealEd/Classes/GeomModifier_Pen.uc

67 lines
2.0 KiB
Ucode
Raw Permalink Normal View History

2020-12-13 15:01:13 +00:00
/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
/**
* Allows the user to place verts in an orthographic viewport and create a brush afterwards.
*/
class GeomModifier_Pen
extends GeomModifier_Edit
native;
/** If TRUE, the shape will be automatically extruded into a brush upon completion. */
var(Settings) bool bAutoExtrude;
/** If TRUE, the tool will try and optimize the resulting triangles into convex polygons before creating the brush. */
var(Settings) bool bCreateConvexPolygons;
/** If TRUE, the resulting shape will be turned into an ABrushShape actor. */
var(Settings) bool bCreateBrushShape;
/** How far to extrude the newly created brush if bAutoExtrude is set to TRUE. */
var(Settings) INT ExtrudeDepth;
var transient editoronly native pointer UsingViewportClient {FEditorLevelViewportClient};
/** The vertices that the user has dropped down in the world so far. */
var array<vector> ShapeVertices;
/** The mouse position, in world space, where the user currently is hovering (snapped to grid if that setting is enabled). */
var transient vector MouseWorldSpacePos;
cpptext
{
/**
* @return TRUE if the key was handled by this editor mode tool.
*/
virtual UBOOL InputKey(struct FEditorLevelViewportClient* ViewportClient,FViewport* Viewport,FName Key,EInputEvent Event);
virtual void Render(const FSceneView* View,FViewport* Viewport,FPrimitiveDrawInterface* PDI);
virtual void DrawHUD(FEditorLevelViewportClient* ViewportClient,FViewport* Viewport,const FSceneView* View,FCanvas* Canvas);
virtual void Tick(FEditorLevelViewportClient* ViewportClient,FLOAT DeltaTime);
/**
* Gives the modifier a chance to initialize it's internal state when activated.
*/
virtual void WasActivated();
protected:
/**
* Implements the modifier application.
*/
virtual UBOOL OnApply();
private:
void Apply();
}
defaultproperties
{
Description="Pen"
bCreateBrushShape=FALSE
bAutoExtrude=TRUE
ExtrudeDepth=256
bCreateConvexPolygons=TRUE
}