Enum traffloat::appearance::Unit [−][src]
pub enum Unit {
Cube,
Sphere,
Cylinder,
}
Expand description
A unit shape variant
Variants
Cube
A unit cube [-1, 1]^3
Sphere
A unit ball x^2 + y^2 + z^2 <= 1
Cylinder
A unit cylinder x^2 + y^2 <= 1, 0 <= z <= 1
Implementations
Returns the names of sprites for model spritesheets for this unit variant.
Sprite locations should follow this order.
Use Unit::sprite_coords
to get the image coordinates for the shape.
Returns the coordinates of sprites for model spritesheets for this unit variant.
order
is the index of the sprite name in the str slice returned in Unit::sprite_names
.
Search the sprite coordinates by name.
Number of sprites on each side of the spritesheet.
Checks whether the given point is within this unit shape
Checks whether the line segment between start
and end
intersects with this unit shape.
If it does, returns the smallest weight w
(0 <= w <= 1
)
at which start * (1 - w) + end * w
is within this shape.
Computes the axis-aligned bounding box under the given transformation matrix
The transformation matrix should transform the unit shape to the real coordinates.
Trait Implementations
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Unit, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Unit, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
The implementation of the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Unit
impl UnwindSafe for Unit
Blanket Implementations
Mutably borrows from an owned value. Read more
type Storage = PackedStorage<T>
type Storage = PackedStorage<T>
The storage type required to hold all instances of this component in a world.
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.