/**
 * Onshape REST API
 * The Onshape REST API consumed by all clients.
 *
 * OpenAPI spec version: 1.93
 * Contact: api-support@onshape.zendesk.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { BTConnection } from './bTConnection';
import { BTExportTessellatedFacesFace } from './bTExportTessellatedFacesFace';
import { BTGraphicsAppearance } from './bTGraphicsAppearance';
import { BTVector3d } from './bTVector3d';

/**
* Array of information for each body.
*/
export class BTExportTessellatedFacesBody {
    'id'?: string;
    'faces'?: Array<BTExportTessellatedFacesFace>;
    'bodyType'?: BTExportTessellatedFacesBody.BodyTypeEnum;
    'appearance'?: BTGraphicsAppearance;
    'facetPoints'?: Array<BTVector3d>;
    'typeId'?: number;
    'exportTypeName'?: string;
    'connectionSource'?: BTConnection;
    'unknownClass'?: boolean;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "id",
            "baseName": "id",
            "type": "string"
        },
        {
            "name": "faces",
            "baseName": "faces",
            "type": "Array<BTExportTessellatedFacesFace>"
        },
        {
            "name": "bodyType",
            "baseName": "bodyType",
            "type": "BTExportTessellatedFacesBody.BodyTypeEnum"
        },
        {
            "name": "appearance",
            "baseName": "appearance",
            "type": "BTGraphicsAppearance"
        },
        {
            "name": "facetPoints",
            "baseName": "facetPoints",
            "type": "Array<BTVector3d>"
        },
        {
            "name": "typeId",
            "baseName": "typeId",
            "type": "number"
        },
        {
            "name": "exportTypeName",
            "baseName": "exportTypeName",
            "type": "string"
        },
        {
            "name": "connectionSource",
            "baseName": "connectionSource",
            "type": "BTConnection"
        },
        {
            "name": "unknownClass",
            "baseName": "unknownClass",
            "type": "boolean"
        }    ];

    static getAttributeTypeMap() {
        return BTExportTessellatedFacesBody.attributeTypeMap;
    }
}

export namespace BTExportTessellatedFacesBody {
    export enum BodyTypeEnum {
        SOLID = <any> 'SOLID',
        SURFACE = <any> 'SURFACE',
        UNKNOWN = <any> 'UNKNOWN'
    }
}
