Skip to main content

Module surface

Module surface 

Source
Expand description

Typed read-only views of the IfcSurface family.

§The three branches

IfcSurface is abstract and splits into:

  • elementary: analytic surfaces placed by an IfcAxis2Placement3D. Infinite. A file that means a finite piece wraps them.
  • swept: a profile moved along a line or around an axis.
  • bounded: finite patches, bounded either by curves or by a rectangle in parameter space.
  • bspline: free-form NURBS patches.

§Everything except the bounded branch is infinite

IfcPlane, IfcCylindricalSurface, IfcSphericalSurface and IfcToroidalSurface have no extent of their own; the sphere and torus are closed and so are finite in area, but the plane and cylinder are not. They appear as the BasisSurface of a bounded surface, as the base of an IfcHalfSpaceSolid, or as the carrier of an IfcFaceSurface, and it is that container which supplies the extent. Rendering a bare IfcPlane produces a plane the size of the world.

§Parameter units are not all lengths

Every surface has a (u, v) parameterisation, and on the non-planar elementary surfaces one or both parameters are angles. Applying the model’s length scale to them corrupts the geometry silently. See ParameterKind, which each elementary surface reports.

§What is deliberately absent

No evaluation, no tessellation, no NURBS basis functions. These views hand a kernel the parameters; the kernel builds the surface.

Re-exports§

pub use bounded::CurveBoundedPlane;
pub use bounded::CurveBoundedSurface;
pub use bounded::RectangularTrimmedSurface;
pub use bounded::TrimRectangle;
pub use bspline::BSplineSurface;
pub use bspline::BSplineSurfaceForm;
pub use bspline::ControlPointGrid;
pub use elementary::CylindricalSurface;
pub use elementary::ParameterKind;
pub use elementary::Plane;
pub use elementary::SphericalSurface;
pub use elementary::ToroidalSurface;
pub use swept::SurfaceOfLinearExtrusion;
pub use swept::SurfaceOfRevolution;

Modules§

basis
IfcGetBasisSurface: the surfaces a curve-on-surface lies on.
bounded
IfcBoundedSurface: finite patches cut from infinite surfaces.
bspline
IfcBSplineSurface and its knotted / rational refinements.
elementary
IfcElementarySurface subtypes: plane, cylinder, sphere, torus.
swept
IfcSweptSurface: a surface made by moving a profile.

Enums§

SurfaceKind
Which IfcSurface subtype an entity is.