package comm

import (
	"go.mongodb.org/mongo-driver/bson/primitive"
	"time"
)

type DesignMesh struct {
	Osgjsbin  *OssType `bson:"osgjsbin,omitempty" json:"osgjsbin"`
	Osgjs     *OssType `bson:"osgjs,omitempty" json:"osgjs"`
	Geometries []string `bson:"geometries,omitempty" json:"geometries"`
	File       *OssType `bson:"file,omitempty" json:"file"`
	Shadow     *OssType `bson:"shadow,omitempty" json:"shadow,omitempty"`
}

//2D 面料
type Mat2d struct {
	Image       *OssType     `bson:"image,omitempty" json:"image"`
	Name        string       `bson:"name,omitempty" json:"name"`
	Uvtransform Uvtransform `bson:"uv,omitempty" json:"uv"`
}

type ImageMat struct {
	Id        primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	UserId    primitive.ObjectID `bson:"userId,omitempty" json:"userId"`
	TeamId    string             `bson:"teamId,omitempty" json:"teamId"`       //所属团队Id
	CompanyId string             `bson:"companyId,omitempty" json:"companyId"` //所属团队Id

	Image      *OssType  `bson:"image,omitempty" json:"image"`
	Thumbnail  *OssType  `bson:"thumbnail,omitempty" json:"thumbnail"`
	Name       string    `bson:"name,omitempty" json:"name"`
	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`

	IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic"`
	Platform *bool `bson:"platform,omitempty" json:"platform"` //是否属于平台

	ColorCards []*Mat2d `bson:"colorCards,omitempty" json:"colorCards"` //2D面料
	Categories []string `bson:"categories,omitempty" json:"categories"` //目录列表
	State      int32    `bson:"state,omitempty" json:"state"`
}