@wendylabsinc/react-three-mesh-editor - v0.0.1
    Preparing search index...

    Interface UseMeshEditorReturn

    Return value of the useMeshEditor hook.

    interface UseMeshEditorReturn {
        captureInitialPositions: (vertexIndices: number[]) => void;
        createFaceFromSelectedEdges: () => boolean;
        currentGeometry: BufferGeometry;
        deselectAll: () => void;
        edges: EdgeData[];
        executeLoopCut: (path: LoopCutPath) => void;
        extrudeFace: (faceIndex: number, distance: number) => void;
        faces: FaceData[];
        getLoopCutPath: (edgeIndex: number, t?: number) => LoopCutPath | null;
        moveSelectedVertices: (delta: [number, number, number]) => void;
        moveVerticesByDelta: (
            vertexIndices: number[],
            delta: [number, number, number],
        ) => void;
        refreshGeometry: () => void;
        selectedEdgeLoopHasFace: () => boolean;
        selectEdge: (index: number, addToSelection?: boolean) => void;
        selectFace: (index: number, addToSelection?: boolean) => void;
        selectVertex: (index: number, addToSelection?: boolean) => void;
        setEditMode: (editMode: EditMode) => void;
        setMode: (mode: EditorMode) => void;
        state: MeshEditorState;
        transformVertices: (
            vertexIndices: number[],
            center: [number, number, number],
            rotation: { w: number; x: number; y: number; z: number },
            scale: [number, number, number],
        ) => void;
        updateVertexPosition: (
            index: number,
            position: [number, number, number],
        ) => void;
        validateSelectedEdgeLoop: () => EdgeLoopValidation;
        vertices: VertexData[];
    }
    Index

    Properties

    captureInitialPositions: (vertexIndices: number[]) => void

    Capture vertex positions before a transform operation (for undo/accumulation)

    createFaceFromSelectedEdges: () => boolean

    Create a face from the selected edge loop (if valid)

    currentGeometry: BufferGeometry

    Current geometry (may differ from input if extrusions have occurred)

    deselectAll: () => void

    Clear all selections

    edges: EdgeData[]

    Array of edges extracted from geometry

    executeLoopCut: (path: LoopCutPath) => void

    Execute a loop cut on the geometry

    extrudeFace: (faceIndex: number, distance: number) => void

    Extrude the selected face by a distance along its normal

    faces: FaceData[]

    Array of faces extracted from geometry

    getLoopCutPath: (edgeIndex: number, t?: number) => LoopCutPath | null

    Get the loop cut path for a given edge

    moveSelectedVertices: (delta: [number, number, number]) => void

    Move all selected vertices by a delta [x, y, z]

    moveVerticesByDelta: (
        vertexIndices: number[],
        delta: [number, number, number],
    ) => void

    Move specific vertices by a delta [x, y, z]

    refreshGeometry: () => void

    Force re-extraction of geometry data

    selectedEdgeLoopHasFace: () => boolean

    Check if a face already exists for the selected edge loop

    selectEdge: (index: number, addToSelection?: boolean) => void

    Select or toggle an edge. Use addToSelection for multi-select.

    selectFace: (index: number, addToSelection?: boolean) => void

    Select or toggle a face. Use addToSelection for multi-select.

    selectVertex: (index: number, addToSelection?: boolean) => void

    Select or toggle a vertex. Use addToSelection for multi-select.

    setEditMode: (editMode: EditMode) => void

    Set the edit sub-mode (vertex, edge, or face)

    setMode: (mode: EditorMode) => void

    Set the editor mode (object or edit)

    Current editor state including mode and selections

    transformVertices: (
        vertexIndices: number[],
        center: [number, number, number],
        rotation: { w: number; x: number; y: number; z: number },
        scale: [number, number, number],
    ) => void

    Apply rotation and scale transformation around a center point

    updateVertexPosition: (
        index: number,
        position: [number, number, number],
    ) => void

    Set a vertex to an absolute position

    validateSelectedEdgeLoop: () => EdgeLoopValidation

    Validate if selected edges form a closed loop

    vertices: VertexData[]

    Array of deduplicated vertices extracted from geometry