package cn.sagacloud.server.algorithm.models.entities

import cn.sagacloud.server.algorithm.models.jsonAnalyzer.Location
import cn.sagacloud.server.algorithm.models.jsonAnalyzer.Point
import com.alibaba.fastjson.annotation.JSONField
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty
import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import javax.persistence.Column
import javax.persistence.Table

/**
 * 其他对象
 *
 * @author jxing
 */
@ApiModel(description = "其他对象")
@Table(name = "revit.other")
@JsonIgnoreProperties(ignoreUnknown = true)
class Other : BaseComponent(){

    /** 名称 */
    @ApiModelProperty(value = "名称")
    @Column(name = "name")
    @JSONField(name = "Name")
    @JsonProperty("Name")
    var name: String? = null

    /** 连接的连接件id */
    @ApiModelProperty(value = "连接的连接件id")
    @Column(name = "connected_ids")
    @JSONField(name = "ConnectedIds")
    @JsonProperty("ConnectedIds")
    var connectedIds: ArrayList<String>? = null

    /** 定位点 */
    @ApiModelProperty(value = "定位点")
    @Column(name = "location")
    @JSONField(name = "Location")
    @JsonProperty("Location")
    var location: Location? = null

    /** 轮廓路径 */
    @ApiModelProperty(value = "轮廓路径")
    @Column(name = "outline")
    @JSONField(name = "OutLine")
    @JsonProperty("OutLine")
    var outline: ArrayList<ArrayList<Point>>? = null

    /** 类型中文名称 */
    @ApiModelProperty(value = "类型中文名称")
    @Column(name = "family_name")
    @JSONField(name = "FamilyName")
    @JsonProperty("FamilyName")
    var familyName: String? = null

    /** 族符号 */
    @ApiModelProperty(value = "族符号")
    @Column(name = "family_symbol")
    @JSONField(name = "FamilySymbol")
    @JsonProperty("FamilySymbol")
    var familySymbol: String? = null

    /** 旋转角度 */
    @ApiModelProperty(value = "旋转角度")
    @Column(name = "rotation")
    @JsonProperty("Rotation")
    var rotation: Double? = null
}