123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package comm
- import (
- "time"
- "go.mongodb.org/mongo-driver/bson/primitive"
- )
- const (
- MeshState_SetFile = 0 //create
- MeshState_SetOsgjs = 1 //模型转换到osgjs了,可以用于webgl显示了
- MeshState_SetOsgjsFailded = -1 //模型转换到osgjs了,可以用于webgl显示了
- MeshState_SetShadow = 2 //阴影已生成
- )
- type Evn3dOption struct {
- Rotation float64 `bson:"rotation" json:"rotation"`
- Exposure float64 `bson:"exposure" json:"exposure"`
- }
- type DesingSceneEnv3d struct {
- Id primitive.ObjectID `bson:"id,omitempty" json:"id"`
- Name string `bson:"name,omitempty" json:"name"`
- Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
- HDR *OssType `bson:"hdr,omitempty" json:"hdr"`
- Config *Evn3dHdrConf `bson:"config,omitempty" json:"config"`
- Options *Evn3dOption `bson:"options,omitempty" json:"options"`
- ToneMap *ToneMap `bson:"toneMap,omitempty" json:"toneMap"`
- }
- type Uvtransform struct {
- Scale float32 `bson:"scale" json:"scale"`
- Rotate float32 `bson:"rotate" json:"rotate"`
- OffsetX float32 `bson:"offsetX" json:"offsetX"`
- OffsetY float32 `bson:"offsetY" json:"offsetY"`
- FinalScale float32 `bson:"finalScale" json:"finalScale"`
- }
- type ImageMatConf struct {
- Image *OssType `bson:"image,omitempty" json:"image"`
- Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
- }
- type SceneComponent struct {
- Name string `bson:"name,omitempty" json:"name"`
- FabricScope string `bson:"fabricScope,omitempty" json:"fabricScope,omitempty"` //面料使用的库
- FabricId *primitive.ObjectID `bson:"fabricId,omitempty" json:"fabricId,omitempty"`
- CardId *primitive.ObjectID `bson:"cardId,omitempty" json:"cardId,omitempty"`
- MatType uint8 `bson:"matType,omitempty" json:"matType"`
- Imagemat *ImageMatConf `bson:"imageMat,omitempty" json:"imageMat,omitempty"`
- Uvtransform *Uvtransform `bson:"transform,omitempty" json:"transform"`
- Color *Vect3 `bson:"color,omitempty" json:"color"`
- GroupId uint64 `bson:"groupId,omitempty" json:"groupId"`
- Visible *bool `bson:"visible,omitempty" json:"visible"`
- }
- type SceneBackground struct {
- Id string `bson:"_id,omitempty" json:"_id"`
- Image *OssType `bson:"image,omitempty" json:"image"`
- Type int32 `bson:"type,omitempty" json:"type"`
- Color *Vect3 `bson:"color,omitempty" json:"color"`
- }
- type ModelTransform struct {
- Pos Vect3 `bson:"pos,omitempty" json:"pos"`
- Scale Vect3 `bson:"scale,omitempty" json:"scale"`
- Rotation Vect4 `bson:"rotation,omitempty" json:"rotation"`
- }
- type SceneModels struct {
- Id string `bson:"id,omitempty" json:"id"`
- MeshId *primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
- Mesh *DesignMesh `bson:"mesh,omitempty" json:"mesh,omitempty"`
- Type string `bson:"type,omitempty" json:"type"`
- TypeId *primitive.ObjectID `bson:"typeId,omitempty" json:"typeId,omitempty"`
- Transform ModelTransform `bson:"transform,omitempty" json:"transform,omitempty"`
- Components []*SceneComponent `bson:"components,omitempty" json:"components,omitempty"`
- }
- type SceneCamera struct {
- Id string `bson:"id,omitempty" json:"id"`
- Position *Vect3 `bson:"position,omitempty" json:"position"`
- Target *Vect3 `bson:"target,omitempty" json:"target"`
- Enable *bool `bson:"enable,omitempty" json:"enable"`
- }
- type Matrix [16]float64
- type Light struct {
- Id string `bson:"id,omitempty" json:"id"`
- Type string `bson:"type,omitempty" json:"type"`
- Enable bool `bson:"enable,omitempty" json:"enable"`
- Matrix Matrix `bson:"matrix,omitempty" json:"matrix"`
- Color Vect3 `bson:"color,omitempty" json:"color"`
- Intensity float64 `bson:"intensity,omitempty" json:"intensity"`
- }
- type SceneLight struct {
- Enable bool `bson:"enable,omitempty" json:"enable"`
- List []*Light `bson:"list,omitempty" json:"list"`
- }
- type DesignScene struct {
- Id uint64 `bson:"id,omitempty" json:"id,omitempty"`
- Name string `bson:"name,omitempty" json:"name,omitempty"`
- Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
- Images []*OssType `bson:"images,omitempty" json:"images,omitempty"`
- Videos []*OssType `bson:"videos,omitempty" json:"videos,omitempty"`
- Locks []string `bson:"locks,omitempty" json:"locks,omitempty"`
- Background *SceneBackground `bson:"background,omitempty" json:"background,omitempty"`
- Env *DesingSceneEnv3d `bson:"env,omitempty" json:"env,omitempty"`
- Components []*SceneComponent `bson:"components,omitempty" json:"components,omitempty"`
- Models []*SceneModels `bson:"models,omitempty" json:"models,omitempty"`
- Stickers []*Sticker `bson:"stickers,omitempty" json:"stickers,omitempty"`
- Lights *SceneLight `bson:"lights,omitempty" json:"lights,omitempty"`
- }
- type Design struct {
- Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
- Mesh *DesignMesh `bson:"mesh,omitempty" json:"mesh"`
- Name string `bson:"name,omitempty" json:"name"`
- Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
- CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
- Scenes []*DesignScene `bson:"scenes,omitempty" json:"scenes"`
- }
- type Sticker struct {
- Id string `bson:"id,omitempty" json:"id,omitempty"`
- Img *OssType `bson:"img,omitempty" json:"img,omitempty"`
- Scale *Vect2 `bson:"scale,omitempty" json:"scale,omitempty"`
- Visible *bool `bson:"visible,omitempty" json:"visible,omitempty"`
- Rotation float32 `bson:"rotation" json:"rotation"`
- Mirror *Vect2 `bson:"mirror,omitempty" json:"mirror,omitempty"`
- Anchors []*Vect2 `bson:"anchors,omitempty" json:"anchors,omitempty"`
- Config map[string]interface{} `bson:"config,omitempty" json:"config,omitempty"`
- }
|