import { ShapeDiverCommonsGroup } from '../commons/SdCommonsGroup';
import { ShapeDiverResponseModelComputationStatus } from './SdResponseDtoModelComputation';
/**
* @swagger {components.schemas} ResponseOutputDefinitionGroup {
"allOf": [
{ "$ref": "#/components/schemas/CommonsGroup" },
{
"description": "Group information of an output definition.",
"type": "object"
}
]
}
*/
/** Group information of an output definition. */
export type ShapeDiverResponseOutputDefinitionGroup = ShapeDiverCommonsGroup;
/**
* @swagger {components.schemas} ResponseOutputDefinition {
"description": "Output definition WITHOUT results as exposed on the API.",
"type": "object"
}
*/
/** Output definition WITHOUT results as exposed on the API. */
export interface ShapeDiverResponseOutputDefinition {
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} id {
"description": "ID of the output, dependent on model ID, and therefore changing each time a model gets uploaded.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputDefinition} required [ "id" ]
*/
/** ID of the output, dependent on model ID, and therefore changing each time a model gets uploaded. */
id: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} uid {
"description": "Constant ID of the output, not dependent on model ID, and therefore NOT changing each time a model gets uploaded. Might be undefined because this property was introduced in summer 2020 and does not exist for outputs of older models.",
"type": "string"
}
*/
/** Constant ID of the output, not dependent on model ID, and therefore NOT changing each time a model gets uploaded. Might be undefined because this property was introduced in summer 2020 and does not exist for outputs of older models. */
uid?: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} name {
"description": "Name of the output.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputDefinition} required [ "name" ]
*/
/** Name of the output. */
name: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} material {
"description": "Optional ID of the output holding material information for this output.",
"type": "string"
}
*/
/** Optional ID of the output holding material information for this output. */
material?: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} chunks {
"description": "Information about which chunks exist in the asset/sdTF.",
"$ref": "#/components/schemas/ResponseOutputChunk"
}
*/
/** Information about which chunks exist in the asset/sdTF. */
chunks?: ShapeDiverResponseOutputChunk[];
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} dependency {
"description": "List of IDs of parameters influencing this output.",
"type": "array",
"items": { "type": "string" }
}
* @swagger {components.schemas.ResponseOutputDefinition} required [ "dependency" ]
*/
/** List of IDs of parameters influencing this output. */
dependency: string[];
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} group {
"description": "Group of an output.",
"$ref": "#/components/schemas/ResponseOutputDefinitionGroup"
}
*/
/** Group of an output. */
group?: ShapeDiverResponseOutputDefinitionGroup;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} order {
"description": "Ordering of the output in client applications.",
"type": "number"
}
*/
/** Ordering of the output in client applications. */
order?: number;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} tooltip {
"description": "Description that is shown as a tooltip in the clients.",
"type": "string"
}
*/
/** Description that is shown as a tooltip in the clients. */
tooltip?: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} displayname {
"description": "Parameter name to display instead of name.",
"type": "string"
}
*/
/** Parameter name to display instead of {@link name}. */
displayname?: string;
/**
* @swagger {components.schemas.ResponseOutputDefinition.properties} hidden {
"description": "Controls whether the parameter should be hidden in the UI.",
"type": "boolean"
}
* @swagger {components.schemas.ResponseOutputDefinition} required [ "hidden" ]
*/
/** Controls whether the parameter should be hidden in the UI. */
hidden: boolean;
}
/**
* @swagger {components.schemas} ResponseOutput {
"allOf": [
{ "$ref": "#/components/schemas/ResponseOutputDefinition" },
{
"description": "Output definition WITH results as exposed on the API.",
"type": "object"
}
]
}
*/
/** Output definition WITH results as exposed on the API. */
export interface ShapeDiverResponseOutput extends ShapeDiverResponseOutputDefinition {
/**
* @swagger {components.schemas.ResponseOutput.properties} version {
"description": "A unique identifier for the particular version of the output. This is a hash code which is based on the parameter values that were used to compute the resulting data. The hash code only depends on the values of the parameters which may theoretically influence the results of the output. As an example, parameters which are in no way connected to the output component in Grasshopper are not considered.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutput} required [ "version" ]
*/
/**
* A unique identifier for the particular version of the output. This is a hash code which is
* based on the parameter values that were used to compute the resulting data. The hash code
* only depends on the values of the parameters which may theoretically influence the results
* of the output. As an example, parameters which are in no way connected to the output
* component in Grasshopper are not considered.
*/
version: string;
/**
* @swagger {components.schemas.ResponseOutput.properties} delay {
"description": "The delay in milliseconds after which a cache request shall be sent to check again for this output version. This property is used ONLY if the output version has not been computed yet.
Note that the existence of this property does not necessarily imply the presence of an active or queued computation for the respective output version.",
"type": "number"
}
*/
/**
* The delay in milliseconds after which an output cache request shall be sent to check again
* for this output version. This property is used ONLY if the output version has not been
* computed yet.
*
* Note that the existence of this property does not necessarily imply the presence of an
* active or queued computation for the respective output version.
*/
delay?: number;
/**
* @swagger {components.schemas.ResponseOutput.properties} content {
"description": "Result parts. In case this array does not exist, this means that the workers have not finished computation for this output version.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ResponseOutputContent"
}
}
*/
/** Result parts. In case this array does not exist, this means that the workers have not finished computation for this output version. */
content?: ShapeDiverResponseOutputContent[];
/**
* @swagger {components.schemas.ResponseOutput.properties} bbmin {
"description": "Optional bounding box, minimum corner.",
"type": "array",
"items": { "type": "number" }
}
*/
/** Optional bounding box, minimum corner. */
bbmin?: number[];
/**
* @swagger {components.schemas.ResponseOutput.properties} bbmax {
"description": "Optional bounding box, maximum corner.",
"type": "array",
"items": { "type": "number" }
}
*/
/** Optional bounding box, maximum corner. */
bbmax?: number[];
/**
* @swagger {components.schemas.ResponseOutput.properties} msg {
"description": "In case computation of the export version (temporarily) failed. Contains a message explaining what went wrong.",
"type": "string"
}
*/
/**
* In case computation of the export version (temporarily) failed.
* Contains a message explaining what went wrong.
*/
msg?: string;
/**
* @swagger {components.schemas.ResponseOutput.properties} status_computation {
"description": "Status of the computation which resulted in the output version.",
"$ref": "#/components/schemas/ResponseModelComputationStatus"
}
*/
/** Status of the computation which resulted in the output version. */
status_computation?: ShapeDiverResponseModelComputationStatus;
/**
* @swagger {components.schemas.ResponseOutput.properties} status_collect {
"description": "Status of collecting results for the output version.",
"$ref": "#/components/schemas/ResponseModelComputationStatus"
}
*/
/** Status of collecting results for the output version. */
status_collect?: ShapeDiverResponseModelComputationStatus;
}
/**
* @swagger {components.schemas} ResponseOutputContent {
"description": "An item of the content array for outputs.",
"type": "object"
}
*/
/** An item of the content array for outputs. */
export interface ShapeDiverResponseOutputContent {
/**
* @swagger {components.schemas.ResponseOutputContent.properties} href {
"description": "Optional link to asset.",
"type": "string"
}
*/
/** Optional link to asset. */
href?: string;
/**
* @swagger {components.schemas.ResponseOutputContent.properties} size {
"description": "Size in bytes for parts of type asset.",
"type": "number"
}
*/
/** Size in bytes for parts of type asset. */
size?: number;
/**
* @swagger {components.schemas.ResponseOutputContent.properties} name {
"description": "Optionally used for type data.",
"type": "string"
}
*/
/** Optionally used for type data. */
name?: string;
/**
* @swagger {components.schemas.ResponseOutputContent.properties} transformations {
"description": "Transformations to be applied in case of type external or asset.",
"type": "array",
"items": {
"type": "array",
"items": { "type": "number" }
}
}
*/
/** Transformations to be applied in case of type external or asset. */
transformations?: number[][];
/**
* @swagger {components.schemas.ResponseOutputContent.properties} format {
"description": "Format of part, used by all types of parts.
asset.material (data contains a material definition).data (data contains arbitrary data).external (href or storage information that refer to an external asset).asset.material (data contains a material definition).data (data contains arbitrary data).external (href or storage information that refer to an external asset).transform_content_array in case of an error in getting texture URLs.",
"type": "string"
}
*/
/** This was used by legacy transform_content_array in case of an error in getting texture URLs. */
msg?: string;
/**
* @swagger {components.schemas.ResponseOutputContent.properties} data {
"description": "Used for types material and data.",
"oneOf": [
{ "type": "string" },
{ "type": "number" },
{ "type": "boolean" },
{ "type": "array",
"items": {
"oneOf": [
{ "type": "string" },
{ "type": "number" },
{ "type": "boolean" },
{ "type": "object" }
]
}
},
{ "type": "object" }
]
}
*/
/** Used for types material and data */
data?: any;
/**
* @swagger {components.schemas.ResponseOutputContent.properties} contentType {
"description": "Optional Content-Type for parts of type asset.",
"type": "string"
}
*/
/** Optional Content-Type for parts of type asset. */
contentType?: string;
}
/**
* @swagger {components.schemas} ResponseOutputChunk {
"description": "Represents a collection of nodes where to start enumerating the content of the sdTF file (entry points).",
"type": "object"
}
*/
/** Represents a collection of nodes where to start enumerating the content of the sdTF file (entry points). */
export interface ShapeDiverResponseOutputChunk {
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} id {
"description": "ID of the chunk.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputChunk} required [ "id" ]
*/
/** ID of the chunk. */
id: string;
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} name {
"description": "Name of the chunk.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputChunk} required [ "name" ]
*/
/** Name of the chunk. */
name: string;
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} typeHint {
"description": "Indicates what type of data the data item holds.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputChunk} required [ "typeHint" ]
*/
/** Indicates what type of data the data item holds. */
typeHint: string;
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} tooltip {
"description": "Description that is shown as a tooltip in the clients.",
"type": "string"
}
*/
/** Description that is shown as a tooltip in the clients. */
tooltip?: string;
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} displayname {
"description": "Custom name to display instead of name. Empty string if not set.",
"type": "string"
}
* @swagger {components.schemas.ResponseOutputChunk} required [ "displayname" ]
*/
/**
* Custom name to display instead of {@link name}.
* Empty string if not set.
*/
displayname: string;
/**
* @swagger {components.schemas.ResponseOutputChunk.properties} hidden {
"description": "Controls whether the chunk should be hidden in the UI.",
"type": "boolean"
}
* @swagger {components.schemas.ResponseOutputChunk} required [ "hidden" ]
*/
/** Controls whether the chunk should be hidden in the UI. */
hidden: boolean;
}