I recently learned about constructive solid geometry (CSG) which is concerned with defining geometrical shapes (let's assume them to be 3d) from constructors like cubes, spheres, ..., and operations like union, difference, intersection, complement. For simplicity, let's disregard curved surfaces for now and just focus on polyhedra.
There is literature on how to convert a CSG shape into a boundary representation. What I'm looking for is a way to calculate the areas and normal vectors of the boundaries. Is there any theory of CSG primitives that allows for such calculations?