export interface BcfViewpointInterface { _projectId?: string; _topicId?: string; guid: string; orthogonal_camera?: BcfOrthogonalCamera; perspective_camera?: BcfPerspectiveCamera; lines?: Array; clipping_planes?: Array; bitmaps?: Array; snapshot?: BcfSnapshot; components?: BcfComponents; creation_author?: string; creation_date?: string; modified_author?: string; modified_date?: string; } export interface BcfPoint { x: number; y: number; z: number; } export interface BcfDirection { x: number; y: number; z: number; } export interface BcfLine { start_point: BcfPoint; end_point: BcfPoint; } export interface BcfOrthogonalCamera { camera_view_point: BcfPoint; camera_direction: BcfDirection; camera_up_vector: BcfDirection; view_to_world_scale: number; } export interface BcfPerspectiveCamera { camera_view_point: BcfPoint; camera_direction: BcfDirection; camera_up_vector: BcfDirection; field_of_view: number; } export interface BcfClippingPlane { location: BcfPoint; direction: BcfDirection; } export interface BcfBitmap { bitmap_type: 'png' | 'jpg'; bitmap_data: string; location: BcfPoint; normal: BcfDirection; up: BcfDirection; height: number; } export interface BcfSnapshot { snapshot_type: 'png' | 'jpg'; snapshot_data: string; } export interface BcfComponents { selection?: Array; coloring?: Array; visibility?: BcfVisibility; } export interface BcfComponent { ifc_guid?: string; originating_system?: string; authoring_tool_id?: string; } export interface BcfColoring { color: string; components: Array; } export interface BcfVisibility { default_visibility?: boolean; exceptions?: Array; view_setup_hints?: BcfViewSetupHints; } export interface BcfViewSetupHints { spaces_visible?: boolean; space_boundaries_visible?: boolean; openings_visible?: boolean; }