design.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package model
  2. import (
  3. "time"
  4. "go.mongodb.org/mongo-driver/bson/primitive"
  5. )
  6. type Matrix [16]float64
  7. type SceneLight struct {
  8. Id string `bson:"id,omitempty" json:"id"`
  9. Type string `bson:"type,omitempty" json:"type"`
  10. Enable bool `bson:"enable,omitempty" json:"enable"`
  11. Matrix Matrix `bson:"matrix,omitempty" json:"matrix"`
  12. Color Vect3 `bson:"color,omitempty" json:"color"`
  13. Intensity float64 `bson:"intensity,omitempty" json:"intensity"`
  14. }
  15. type DesignScene struct {
  16. Id string `bson:"id,omitempty" json:"id"`
  17. Name string `bson:"name,omitempty" json:"name"` //名字唯一
  18. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  19. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
  20. Product []*SceneProduct `bson:"products" json:"products"`
  21. Env3d *Env3dConfig `bson:"env3d,omitempty" json:"env3d"`
  22. Lights []*SceneLight `bson:"lights,omitempty" json:"lights"`
  23. }
  24. type DesignProduct struct { //设计单品信息
  25. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  26. ProjectId primitive.ObjectID `bson:"projectId,omitempty" json:"projectId"`
  27. FromDbConfId string `bson:"fromDbConfId,omitempty" json:"fromDbConfId"` //数据库定义Id
  28. FromAssetConfId string `bson:"fromAssetConfId,omitempty" json:"fromAssetConfId"`
  29. FromId string `bson:"fromId,omitempty" json:"fromId"`
  30. Name string `bson:"name,omitempty" json:"name"`
  31. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
  32. StaticMesh *StaticMeshSource `bson:"staticMesh,omitempty" json:"staticMesh"` //静态模型资产
  33. UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
  34. }
  35. type ProductHeader struct {
  36. Id string `bson:"id,omitempty" json:"id"`
  37. FromDbConfId string `bson:"fromDbConfId,omitempty" json:"fromDbConfId"` //数据库定义Id
  38. FromAssetConfId string `bson:"fromAssetConfId,omitempty" json:"fromAssetConfId"`
  39. FromId string `bson:"fromId,omitempty" json:"fromId"`
  40. Name string `bson:"name,omitempty" json:"name"`
  41. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
  42. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  43. }
  44. type Design3d struct {
  45. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  46. Name string `bson:"name,omitempty" json:"name"`
  47. Thumbnail *OssType `bson:"thumbnail" json:"thumbnail"`
  48. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  49. UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
  50. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId"`
  51. Products []*ProductHeader `bson:"products,omitempty" json:"products"`
  52. Scenes []*DesignScene `bson:"scenes,omitempty" json:"scenes"`
  53. }