Параметры вида

Ниже мы рассмотрим параметры вида в качестве необязательного параметра для функции c3dinstance.createView(..).

Параметры вида (TypeScript):

export type CreateViewOptions = {
    uuid?: string,
    callbacksList?: events.C3DModelViewEvents
    monitoring?: {
        frame?: {
            time: number
            fps: number
            nDrawCalls: number
            nDrawTriangles: number
            nDrawLines: number
        }
        scene?:{
            segments?: number
        }
    }
}

Рассмотрим значение всех свойств в параметрах вида.

Свойство ‘UUID’

Эта функция позволяет подключиться к выбранному рабочему пространству. Он содержит заданную группу моделей в сцене. Если рабочее пространство с таким UUID не существует, оно будет создано. По умолчанию UUID всегда генерируется случайным образом.

Объект ‘Callbacks’

Доступные функции обратного вызова (TypeScript):

{
    /**
     * A model is added to a workspace
     */
    onAddModel?: (uuid:string)=>void
    // 
    /**
     * A model is removed from a workspace
     */
    onRemoveModel?: (uuid:string)=>void
    /**
     *  One of workspace models is loaded
     * */ 
    onCompletedModel?: (uuid:string)=>void
    /**
     * The model is fully shown on scene
     */
    onFullLoadedModel?:(uuid: string) => void
    /**
     * A workspace is cleaned out
     */
    onClear?: ()=>void

    /**
     * A node of a model is added
     */
    onAddNode?:(uuid:string)=>void
    /**
     * A node of a model is removed
     */
    onRemoveNode?:(uuid:string)=>void

    /**
     * An element of a model is picked
     */
    onPickElement?:(uuid:string)=>void
}

Пример вызова функций обратного вызова onCompletedModel и onFullLoadedModel. Если одновременно загружаются две модели, то обе функции обратного вызова будут вызываться дважды для каждой модели, но первый вызов произойдёт после завершения загрузки структуры, а второй — после загрузки геометрии. Кроме того, вызов функции onFullLoadedModel произойдет только после того, как будет отображена вся геометрия модели. Это полезно, например, в случае, когда вы добавляете «слэшер» при загрузке (onCompletedModel для исправления наличия UUID модели и onFullLoadedModel для освобождения UUID модели). Но программа никогда не запустится, если вся модель не будет показана полностью в начале (с увеличением до какой-либо части).

Свойство ‘Monitoring’

Это свойство содержит объект со свойствами, которые обновляются во время работы C3D Vision.