///
import { ThunkAction } from 'redux-thunk';
import { AnyAction } from 'redux';
import { BoxEntity, CylinderEntity, Modelling, PolygonEntity, RoofEntity, State } from '../State';
import Entity from 'cesium/Source/DataSources/Entity';
export declare enum ModellingActionsType {
TOGGLE_MODELLING = "TOGGLE_MODELLING",
TOGGLE_DELETE = "TOGGLE_DELETE",
TOGGLE_DRAW_POLYGON = "TOGGLE_DRAW_POLYGON",
TOGGLE_MEASURES = "TOGGLE_MEASURES",
TOGGLE_COLOR = "TOGGLE_COLOR",
TOGGLE_NAME = "TOGGLE_NAME",
SET_CYLINDERS = "SET_CYLINDERS",
SET_BOXES = "SET_BOXES",
SET_POLYGONS = "SET_POLYGONS",
SET_DRAW_POLYGON_BOXES = "SET_DRAW_POLYGON_BOXES",
SET_ROOFS = "SET_ROOFS",
SET_NAME = "SET_NAME",
INITIALISE_SHARED_IDS = "INITIALISE_SHARED_IDS",
CLEAR_MODELLINGS = "CLEAR_MODELLINGS",
SET_MODEL_INFO = "SET_MODEL_INFO",
CLEAR_SHARED_MODELLINGS = "CLEAR_SHARED_MODELLINGS",
APPEND_MODEL = "APPEND_MODEL",
REMOVE_MODEL = "REMOVE_MODEL",
APPEND_SHARED_MODEL = "APPEND_SHARED_MODEL",
TOGGLE_MODEL = "TOGGLE_MODEL",
TOGGLE_ALL_MODELS = "TOGGLE_ALL_MODELS",
SET_MODEL = "SET_MODEL",
SET_EDIT_MODEL = "SET_EDIT_MODEL",
SET_SELECTED_MODEL = "SET_SELECTED_MODEL",
SET_MAIN_COLOR = "SET_MAIN_COLOR",
SET_MAIN_TRANSPARENCY = "SET_MAIN_TRANSPARENCY"
}
interface ToggleModelling {
type: ModellingActionsType.TOGGLE_MODELLING;
payload: {
isShowing: boolean;
};
}
export declare function toggleModelling(isShowing: boolean): ToggleModelling;
interface SetModelInfoOn {
type: ModellingActionsType.SET_MODEL_INFO;
payload: {
isShowing: boolean;
};
}
export declare function setModelInfoOn(isShowing: boolean): SetModelInfoOn;
interface SetMainColor {
type: ModellingActionsType.SET_MAIN_COLOR;
payload: {
color: string;
};
}
export declare function setMainColor(color: string): SetMainColor;
interface SetMainTransparency {
type: ModellingActionsType.SET_MAIN_TRANSPARENCY;
payload: {
transparency: number;
};
}
export declare function setMainTransparency(transparency: number): SetMainTransparency;
interface SetSelectedModel {
type: ModellingActionsType.SET_SELECTED_MODEL;
payload: {
model: BoxEntity | CylinderEntity;
};
}
export declare function setSelectedModel(model: BoxEntity | CylinderEntity): SetSelectedModel;
interface SetName {
type: ModellingActionsType.SET_NAME;
payload: {
nameValue: string;
};
}
export declare function setName(nameValue: string): SetName;
interface ToggleDelete {
type: ModellingActionsType.TOGGLE_DELETE;
payload: {
deleteMode: boolean;
};
}
export declare function toggleDelete(deleteMode: boolean): ToggleDelete;
interface ToggleDrawPolygon {
type: ModellingActionsType.TOGGLE_DRAW_POLYGON;
payload: {
draw: boolean;
};
}
export declare function toggleDrawPolygon(draw: boolean): ToggleDrawPolygon;
interface ToggleMeasuresShowing {
type: ModellingActionsType.TOGGLE_MEASURES;
payload: {
masuresShowing: boolean;
};
}
export declare function toggleMeasuresShowing(masuresShowing: boolean): ToggleMeasuresShowing;
interface ToggleNameShowing {
type: ModellingActionsType.TOGGLE_NAME;
payload: {
nameShowing: boolean;
};
}
export declare function toggleNameShowing(nameShowing: boolean): ToggleNameShowing;
interface SetCylinders {
type: ModellingActionsType.SET_CYLINDERS;
payload: {
cylinders: CylinderEntity[];
};
}
export declare function setCylinders(cylinders: CylinderEntity[]): SetCylinders;
interface SetBoxes {
type: ModellingActionsType.SET_BOXES;
payload: {
boxes: BoxEntity[];
};
}
export declare function setBoxes(boxes: BoxEntity[]): SetBoxes;
interface SetPolygons {
type: ModellingActionsType.SET_POLYGONS;
payload: {
polygons: PolygonEntity[];
};
}
export declare function setPolygons(polygons: PolygonEntity[]): SetPolygons;
interface SetDrawPolygonBoxes {
type: ModellingActionsType.SET_DRAW_POLYGON_BOXES;
payload: {
boxes: Entity[];
};
}
export declare function setDrawPolygonBoxes(boxes: Entity[]): SetDrawPolygonBoxes;
interface SetRoofs {
type: ModellingActionsType.SET_ROOFS;
payload: {
roofs: RoofEntity[];
};
}
export declare function setRoofs(roofs: RoofEntity[]): SetRoofs;
interface EmptyAction {
type: ModellingActionsType.CLEAR_MODELLINGS | ModellingActionsType.CLEAR_SHARED_MODELLINGS;
payload: {};
}
export declare function clearModellings(): EmptyAction;
export declare function clearSharedModellings(): EmptyAction;
interface AppendModel {
type: ModellingActionsType.APPEND_MODEL;
payload: {
model: Modelling;
};
}
export declare function appendModel(model: Modelling): {
type: ModellingActionsType;
payload: {
model: Modelling;
};
};
interface RemoveModel {
type: ModellingActionsType.REMOVE_MODEL;
payload: {
id: string;
};
}
export declare function removeModel(id: string): {
type: ModellingActionsType;
payload: {
id: string;
};
};
interface AppendSharedModel {
type: ModellingActionsType.APPEND_SHARED_MODEL;
payload: {
model: Modelling;
};
}
export declare function appendSharedModel(model: Modelling): {
type: ModellingActionsType;
payload: {
model: Modelling;
};
};
interface InitialiseSharedModelCodes {
type: ModellingActionsType.INITIALISE_SHARED_IDS;
payload: {
sharedModellingCodes: string[];
};
}
export declare function initialiseSharedModelCodes(codes: string[]): InitialiseSharedModelCodes;
interface ToggleModel {
type: ModellingActionsType.TOGGLE_MODEL;
payload: {
id: string;
toState: boolean;
};
}
export declare function toggleModel(id: string, toState: boolean): ToggleModel;
interface ToggleAction {
type: ModellingActionsType.TOGGLE_ALL_MODELS;
payload: {
toState: boolean;
};
}
export declare function toggleAllModels(toState: boolean): ToggleAction;
interface SetModel {
type: ModellingActionsType.SET_MODEL;
payload: {
id: any;
model: any;
shared: any;
nimi?: any;
};
}
export declare function setModel(id: string, model: string, shared: boolean, nimi?: string): SetModel;
interface SetEditModel {
type: ModellingActionsType.SET_EDIT_MODEL;
payload: {
model: any;
};
}
export declare function setEditModel(model: Modelling | undefined): SetEditModel;
export type ModellingActions = SetCylinders | SetBoxes | SetName | ToggleModelling | ToggleModel | ToggleDelete | ToggleMeasuresShowing | ToggleNameShowing | EmptyAction | AppendSharedModel | AppendModel | ToggleAction | SetModel | SetEditModel | InitialiseSharedModelCodes | SetMainColor | SetMainTransparency | SetSelectedModel | SetRoofs | SetPolygons | SetDrawPolygonBoxes | RemoveModel | SetModelInfoOn | ToggleDrawPolygon;
export declare function requestUserModellings(app_url: string): ThunkAction;
export declare function requestDeleteUserModelling(id: string, app_url: string): ThunkAction;
export declare function requestSharedModellings(ids: string[], app_url: string): ThunkAction;
export declare function requestModel(id: string, app_url: string, shared: boolean): ThunkAction;
export declare function postUserModel(nimi: string, model: any, app_url: string): ThunkAction;
export declare function updateUserModel(id: string, nimi: string, model: string, app_url: string): ThunkAction;
export {};