← Back
Home › Systems › Engineering design and CAx

bim-authoring

building information modelling and coordination

Revit, ArchiCAD, Tekla

SystemTechniques · 15Primitives · 35 bim-authoring Idl code generationcompilers · medium: Generate typed client/server stubs and codecs from an interface definitionB rep topologygeometry · medium: Boundary representation: solids as shells, faces, loops, edges and vertices with geometry attachedGeometric constraint solvinggeometry · medium: Solve sketch constraints (distance, tangent, parallel) by graph decomposition and Newton iterationLabel placement collisiongeometry · medium: Place map labels and icons without overlap using a collision grid and prioritiesPolygon clippinggeometry · medium: Polygon intersection/union/difference (Weiler-Atherton, Martinez) for spatial predicatesPolygon tessellationgeometry · medium: Triangulate polygons with holes (ear clipping, earcut, monotone sweep)Solid boolean operationsgeometry · medium: Union, intersection and difference of solids: classify, split and merge faces robustlyRecursive-descent parsingcompilers · low: Hand-written top-down parser with one function per grammar rule; simple, fast, with full control over error messages and recovery.›Bounding volume hierarchyphysics · low: Binary tree of nested bounding boxes; prunes overlap and ray queries to O(log n) for any size distribution, and supports cheap insert/remove for moving objects.›Topological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Leasesdistributed · low: A lock that expires on its own: bounded-time ownership that survives crashes and partitions, given bounded clock drift and fencing tokens on writes.›Undo redographics · low: Command or snapshot history with grouping and coalescingSeparating axis theoremphysics · low: Convex shapes are disjoint iff some axis separates their projections; testing face normals and edge crosses gives overlap, depth and contact normal.›Optimistic concurrency controlstorage · low: Run transactions without locks, record what they read, and validate at commit that nothing changed; fastest when conflicts are rare.›Protobuf wire formatnetworking · low: Protocol Buffers wire format: tags, varints, length-delimited fields and schema evolutionExact geometric predicatesgeometry · low: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmeticHalf edge meshgraphics · low: Half-edge mesh connectivity for editable polygon meshesStrongly connected componentsgraphs · low: Tarjan/Kosaraju SCCs for cycle detection in dependency graphsNewton root findingnumerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.›d-ary heapdata-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.›R-treegeometry · low: A balanced tree of nested bounding boxes that indexes rectangles and points, answering window and nearest-neighbour queries by pruning whole subtrees.›Spatial hashingphysics · low: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.›Point in polygongeometry · low: Ray-casting/winding tests and indexed polygon lookup for reverse geocoding+ 8 more techniques+ 19 more primitives

Similar systems

Share the most building blocks with this one.