Floor
Floor
is arguably the most important object (Object3DWrapper
) in
3d-tour-next. It is responsible for creating various objects such as a
Cube
(panorama), a Dollhouse
, FloorHotspots
, MeasuringObjects
etc.
Object3DWrapper
Object3DWrapper
is exactly how it sounds like. It is an abstract class that
forces the implementation of public abstract object3D
property to every class
that extends it.
By avoiding direct inheritance of THREE.Object3D
and its derivatives (things
like THREE.Mesh
), classes extending Object3DWrapper
are free to choose any
property or method names without worrying about conflicting with the names of
THREE.Object3D
's own properties and methods (things like id, parent, etc).
Conveniently, Object3DWrapper
knows how to add another Object3DWrapper
as
well as a raw THREE.Object3D
as its child.
constructor()
While being instantiated, the Floor
first creates a DomElementManager
with
World3D.container
as a parent. This dom element will be used as the root
node for any measurement-related labels (rendered as HTMLElement
s, not
Object3D
s) created in the measurement mode.
And then it goes on to create a Dollhouse
instance (if user provided
dollhouse-related data), a Measurement
instance, and a FloorHotspotManager
instance.