Skip to main content

RoofType

Enum RoofType 

Source
pub enum RoofType {
Show 15 variants Pyramid, Shed, Gable, Hip, Flat, OpenGable, BoxGable, PyramidHip, Butterfly, MShaped, Gambrel, Mansard, Saltbox, Jerkinhead, DutchGable,
}
Expand description

Roof shape types for the Roof operation.

Variants§

§

Pyramid

Four triangular slope panels meeting at a single apex.

§

Shed

Single slope panel from front eave to back eave.

§

Gable

Two slope panels meeting at a horizontal ridge; two triangular gable ends.

§

Hip

Four trapezoidal slope panels meeting at a horizontal ridge.

§

Flat

Flat horizontal roof — a single horizontal panel covering the scope top.

§

OpenGable

Two rectangular slope panels only (Gable without the triangular end panels).

§

BoxGable

Two slope panels + two rectangular (non-tapered) gable-end wall panels.

§

PyramidHip

Four panels from a rectangular base meeting at a single apex point (no ridge). Equivalent to Pyramid for square footprints; left/right end panels are triangular.

§

Butterfly

Two inward-tilting slopes forming a central valley (inverted Gable).

§

MShaped

Four panels forming two parallel ridges with a central valley between them (M profile).

§

Gambrel

Two pitches per slope: steeper lower zone + shallower upper zone (barn roof). Requires secondary_pitch in RoofConfig.

§

Mansard

Gambrel applied to all four sides: 4 steep lower panels + 4 shallow upper panels. Requires secondary_pitch in RoofConfig.

§

Saltbox

Asymmetric Gable: the ridge is offset toward one end (ridge_offset in RoofConfig). Front slope is steeper; back slope is shallower. Gable ends are asymmetric triangles.

§

Jerkinhead

Gable with clipped hip ends: the upper corners of each gable end are replaced by small triangular hip panels. Controlled by tier_height in RoofConfig.

§

DutchGable

Hip roof with a small gable rising from the ridge centre. Controlled by tier_height (fraction of slope from base where the gable starts).

Implementations§

Source§

impl RoofType

Source

pub fn parse(s: &str) -> Option<Self>

Trait Implementations§

Source§

impl Clone for RoofType

Source§

fn clone(&self) -> RoofType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RoofType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for RoofType

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for RoofType

Source§

fn eq(&self, other: &RoofType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for RoofType

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for RoofType

Source§

impl Eq for RoofType

Source§

impl StructuralPartialEq for RoofType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,