Source code for nanome.api.schemas.shapes_schema

from marshmallow import Schema, fields
from nanome.util import enums
from .util_schemas import EnumField, ColorField, Vector3Field


[docs]class AnchorSchema(Schema): anchor_type = EnumField(enum=enums.ShapeAnchorType) target = fields.Integer() local_offset = Vector3Field() global_offset = Vector3Field()
[docs]class ShapeSchema(Schema): index = fields.String() shape_type = EnumField(enum=enums.ShapeType) color = ColorField() anchors = fields.List(fields.Nested('AnchorSchema'))
[docs]class LabelSchema(ShapeSchema): text = fields.String() font_size = fields.Float()
[docs]class MeshSchema(ShapeSchema): vertices = fields.List(fields.Float()) normals = fields.List(fields.Float()) colors = fields.List(fields.Float()) triangles = fields.List(fields.Int()) uv = fields.List(fields.Float()) unlit = fields.Boolean() texture_path = fields.String()
[docs]class SphereSchema(ShapeSchema): radius = fields.Float()
[docs]class LineSchema(ShapeSchema): anchors = fields.List(fields.Nested('AnchorSchema'), min=2) thickness = fields.Float() dash_length = fields.Float() dash_distance = fields.Float()