39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from dataclasses import dataclass, field
|
|
from typing import List, Optional
|
|
|
|
from ..model.geometry import UV, Layout, Point3
|
|
|
|
|
|
@dataclass
|
|
class FaceVertex:
|
|
"""
|
|
A model class for holding data about face vertices
|
|
|
|
Attributes
|
|
----------
|
|
@type position: Point3
|
|
@param position: Represents position as a point in a 3 dimensional space
|
|
|
|
@type texture_coordinate: UV
|
|
@param texture_coordinate: Represents the UV values of the texture coordinate
|
|
|
|
@type normal: Point3
|
|
@param normal: Represents the normal as a 3 dimensional vector
|
|
|
|
@type layout: Layout
|
|
@param layout: The layout this vertex is contained within
|
|
|
|
@type skin_weight_values: List[float]
|
|
@param skin_weight_values: The list of the skin weight values
|
|
|
|
@type skin_weight_joint_indices: List[int]
|
|
@param skin_weight_joint_indices: List of the skin weight joint indices
|
|
"""
|
|
|
|
position: Optional[Point3] = field(default=None)
|
|
texture_coordinate: Optional[UV] = field(default=None)
|
|
normal: Optional[Point3] = field(default=None)
|
|
layout: Optional[Layout] = field(default=None)
|
|
skin_weight_values: List[float] = field(default_factory=list)
|
|
skin_weight_joint_indices: List[int] = field(default_factory=list)
|