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§
Trait Implementations§
impl Copy for RoofType
Source§impl<'de> Deserialize<'de> for RoofType
impl<'de> Deserialize<'de> for RoofType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RoofType
impl StructuralPartialEq for RoofType
Auto Trait Implementations§
impl Freeze for RoofType
impl RefUnwindSafe for RoofType
impl Send for RoofType
impl Sync for RoofType
impl Unpin for RoofType
impl UnsafeUnpin for RoofType
impl UnwindSafe for RoofType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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