@novorender/web_app
A library for building Novorender web apps.
Camera Controller
Interface, Type alias | Description |
---|---|
CameraControllerOptions | Camera controller switch options. |
BuiltinCameraControllerKind | Kind strings of built-in camera controller. |
BuiltinCameraControllerType | Types of built-in camera controller. |
Camera Controllers
Enumeration, Class, Interface, Type alias, Function | Description |
---|---|
MouseButtons | Flags for various mouse buttons. |
BaseController | Base class for all camera controllers. |
CadMiddlePanController | Variant of flight controller that uses middle mouse button for panning. |
CadRightPanController | Variant of flight controller that uses right mouse button for panning. |
ControllerInput | The input source of camera controllers. |
FlightController | The flight controller mimics the behaviour of an etheral, hovering drone, allowing unconstrained movements through walls and obstacles. |
NullController | Null type camera motion controller. |
OrbitController | A camera controller for orbiting around a point of interest. |
OrthoController | The ortho controller is for navigating a orthographic camera. |
PanoramaController | Panorama type camera motion controller |
PitchRollYawOrientation | A 3D rotation expressed as pitch, roll and yaw angles. |
SpecialFlightController | Vassbakk's super special flight controller. |
ContollerInputContext | Input event callbacks. |
ControllerInitParams | Common controller initialization parameters. |
FlightControllerParams | Flight controller initialization parameters |
FlyToParams | Camera fly-to transition/animation parameter |
OrbitControllerParams | Orbit type camera motion controller |
Orientation | Camera controller 3D orientation in world space. |
OrthoControllerParams | Ortho controller initialization parameters. |
PanoramaControllerParams | Panorama camera controller parameters |
PickContext | A context interface for pick operations. |
TouchContactPoint | A single touch input contact point. |
ControllerAxes | The input gesture axes values. |
ControllerParams | Common controller input parameters. |
computeRotation | Compute rotation quaternion from roll, pitch and yaw angles. |
rotationFromDirection | Retuns a quaternion computed for the given direction. Will compute rotation with Y as the up vector unless direction is Y or snapToAxis is given |
Device Profile
Class, Interface, Type alias, Function | Description |
---|---|
Benchmark | A basic GPU benchmark helper class. |
FillrateProfiler | A basic GPU fill rate profiler. |
PointrateProfiler | A basic GPU point rate profiler. |
DeviceFeatures | Feature flags for current device. True = enable. |
DeviceLimits | Device hardware limitations. |
DeviceProfile | Information about current device performance and limitations. |
DeviceQuirks | Known device specific quirks and bugs that we can work around. |
GPUTier | GPU performance tier. |
getDeviceProfile | Create a device profile. |
Geometry
Function | Description |
---|---|
createCubeObject | Create a simple cube mesh object. |
createSphereObject | Create a simple sphere mesh object. |
downloadGLTF | Load a gltf file from url. |
Other
Enumeration, Class, Interface, Type alias, Variable, Function | Description |
---|---|
OfflineErrorCode | Offline error code |
CollisionModule | Module for all collision calculations |
CoreModule | Standard measure module for standard measure functions |
DrawModule | Module for converting measure data to drawable objects. functions will generally use Camera to object to project the objects to view space |
FollowModule | - |
ManholeModule | Modules specialized for measuring manholes |
MeasureError | Base class for spesific errors from the measure API. |
MeasureView | Master class for all measure functionality The functionality is split into seperate modules |
OfflineScene | An offline scene. |
OfflineViewState | Viewstate for offline support UI. |
ProfileModule | Module for converting parametric data to profiles. which can easily be used for charts and graphs |
RoadModule | Module for handling road spesific parametric data. |
ScreenSpaceConversions | - |
ArcValues | ArcValues is a collection of values for measuring a single arc |
AsyncProgramParams | Parameters for asynchronous shader compilation and linking. |
Camera | Camera values needed when drawing measure data. The camera state from RenderState can be used here RenderStateCamera |
CameraControllerInitialValues | Optional values to initialize camera controller. |
CameraValues | Gives values to create a camera based on selected object |
CollisionValues | Collision values |
Core3DImportMap | A map describing inlined resources, or urls where to fetch them. |
CylinderValues | CylinderValues is a collection of values for measuring a single cylinder |
DeviationLabel | Deviation lable with pixel position and deviation value as string. |
DeviationSample | Deviation sampled from screen |
DrawableEntity | An entity that can be used in measureView.draw.getDrawMeasureEntity, Objects returned from the api with draw kind parameter can be used |
DrawContext | Draw context for keeping updated canvas widht height and camera properties |
DrawObject | An object for 2d drawings, can contain multiple parts |
DrawPart | Information about object to draw for measurement |
DrawProduct | A hierarcical structure to draw 2d objects |
DrawVoid | Hole in a filled polygon |
DuoMeasurementValues | DuoMeasurementValues is a collection of values for measuring two objects |
FollowParametricObject | Used to get camera values along a curve segment or cylinder center |
LaserIntersections | Laser interseciton values collected from a single brep face |
LinesDrawSetting | Setting for drawing lines |
LineStripMeasureValues | Gives values based on selected linestrip |
LineStripValues | LineStripValues is a collection of values for measuring a line strip |
LineValues | LineValues is a collection of values for measuring a single line |
Logger | An interface for reporting status updates, progress and errors to UI. |
ManholeMeasureValues | Gives values based on selected manhole, must contain a top plane, bottom plane an a cylinder running for atleast 50% of the distance between top and bottom Tesselated manholes will not work |
MeasureImportMap | A map describing inlined resources, or urls where to fetch them. |
MeasureObjectInfo | - |
MeasureSettings | Additional options for measurement |
OfflineContext | - |
OfflineErrorMessage | Offline error message |
OfflineImportMap | A map describing inlined resources, or urls where to fetch them. |
OutlineSample | Deviation sampled from screen |
ParameterBounds | Parameter bounds |
ParametricEntity | This is the identification of a spesific edge, face or curve segment in the object. It is often required by measure functions |
PickOptions | Extra pick options. |
PickSample | Pick Sample information |
PlaneValues | PlaneValues is a collection of values for measuring a single Plane |
PointEntity | - |
PointVisualizationClassification | Classification visualization, will use the classification values and the color gradient described in RenderStatePointCloud |
PointVisualizationDeviation | Deviation visualization, will use the classification values and the color gradient described in RenderStatePointCloud The gradients will follow the deviation index |
PointVisualizationElevation | Elevation visualization, will use the global elevation and the color gradient described in RenderStateTerrain |
PointVisualizationIntensity | Intensity visualization, will use grayscale |
PointVisualizationRGB | Color visualization, will use the RGBA values in each vertex |
PolymeshValues | PolymeshValues is a collection of values for measuring a face with no identifiable surface. These are generated surfaces typically from tesselated data. |
Profile | 2d profile with slope information |
RenderStatistics | Render frame performance and resource usage statistics. |
RoadCrossSection | Cross section of a road |
SceneIndex | - |
SnapTolerance | Tolerance for picking and snapping to parametric objects, numbers are distance in meters 0 can be used to ignore certain types when picking or snapping |
TextureSlot | Texture slot assignment return value. |
WasmInstance | - |
ActiveTextureIndex | Active texture index. |
ActiveTexturesArray | Fixed sized array of active texture names. |
AtLeastOne | Helper type, like typescript's Partial<T> , but where at least one property must be defined. |
CameraControllersFactory | Camera controller factory function signature type. |
CylinerMeasureType | Possible options when measuring and drawing cylinders |
DeviationInspections | Deviation values taken from screen |
DeviationInspectionSettings | Settings for deviation inspection |
DeviationProjection | Projection, currently only cirular from the center line position, typically used for tunnels |
EdgeValues | EdgeValues is a collection of values for measurment on a single edge |
ElevationInfo | - |
FaceValues | FaceValues is a collection of values for measurment on a single face |
FixedSizeArray | Helper type for arrays of fixed size |
Line2d | - |
LoadStatus | Load status of the parametric object, uknown means that it have never been fetched and missing means that the object does not have parametric data |
MaxActiveTextures | Maximum number of simultaneous textures allowed. |
MeasureEntity | Interface often used in the measure api to describe a selected parametric object, It can either be an object or a simple 3d point Any measure entity can be drawn using the draw module DrawModule |
MeasurementValues | MeasurementValues is a collection of values for any measurment |
ObjectId | Object Id from the core 3d api. this is the way objects are linked between the general 3d api and the measure api |
PointVisualization | - |
RecursivePartial | Helper type, like typescript's Partial<T> , only recursive. |
RGB | Color, expressed as a tuple of red, green and blue with values between 0.0 and 1.0. |
RGBA | Color with alpha opacity, expressed as a tuple of red, green, blue and alpha with values between 0.0 and 1.0. |
ViewImportmap | - |
ViewImports | - |
packageVersion | NPM package version, if applicable. |
builtinControllers | Return the built-in camera controllers. |
createMeasureView | Creates a measure view based on the scene url. |
createOfflineViewState | Create and initialize an offline view state object. |
defaultRenderState | Create a default render state. |
easeInOut | Function that can be used for flyto will speed up and down |
easeOut | Function that can be used for flyto will speed down |
mergeRecursive | Utility function for merging the properties of two objects recursively |
segmentPlaneIntersection | Calculate the intersection point between ray and plane |
Render Module
Class, Interface | Description |
---|---|
RenderContext | The view specific context for rendering and picking. |
RenderModule | A render module factory object. |
RenderModuleContext | A render module's context for a specific render context. |
Render State
Enumeration, Interface, Type alias, Function | Description |
---|---|
ClippingId | Object id/indices for picking of rendered clipping planes. |
ClippingMode | How to combine the half-spaces of multiple clipping planes into a clipping volume. |
CoordSpace | Transformation coordinate space. |
TonemappingMode | Used to visualize internal render buffers. |
AABB | Axis-aligned bounding box |
BoundingSphere | Bounding sphere |
DerivedRenderState | An extended variant of RenderState with additional derived properties. |
HSLAOptions | Options for HSL + alpha color transformation. |
LinearTransform | Linear transform options. |
MaterialProperties | Scene materials property arrays, encoded as base 64 strings. |
Matrices | A helper object for computing transformation matrices between spaces on demand. |
RenderState | An object describing the what to be rendered and how by RenderContext.render. |
RenderStateBackground | Background/environment related render state. |
RenderStateCamera | Camera related render state. |
RenderStateClipping | Clipping related render state. |
RenderStateClippingPlane | Render state for a single clipping plane. |
RenderStateColorGradient | A color gradient curve. |
RenderStateColorGradientKnot | Gradient curve knot node. |
RenderStateDebug | Debug related state. |
RenderStateDynamicGeometry | Dynamic mesh geometry state. |
RenderStateDynamicImage | Texture image related state. |
RenderStateDynamicInstance | Dynamic object instance render state. |
RenderStateDynamicMaterialGGX | GGX type of PBR material. |
RenderStateDynamicMaterialUnlit | Unlit material properties. |
RenderStateDynamicMesh | Dynamic mesh render state. |
RenderStateDynamicMeshPrimitive | Dynamic mesh primitive. |
RenderStateDynamicNormalTextureReference | Normal map texture reference state. |
RenderStateDynamicObject | Dynamic object related render state. |
RenderStateDynamicObjects | Dynamic object related render state |
RenderStateDynamicOcclusionTextureReference | Occlusion map texture reference state. |
RenderStateDynamicSampler | Texture sampled related state |
RenderStateDynamicTexture | Texture related state. |
RenderStateDynamicTextureReference | Texture reference state. |
RenderStateDynamicVertexAttributes | Dynamic mesh vertex attributes state. |
RenderStateGrid | Grid related render state. |
RenderStateHighlightGroup | Render state for a specific highlight group. |
RenderStateHighlightGroups | Highlight related render state. |
RenderStateHighlightGroupTexture | Render state for a highlight group texture. |
RenderStateOutlines | Outline related render state. |
RenderStateOutput | Output image related state. |
RenderStatePick | Pick related render state. |
RenderStatePointCloud | Point cloud related render state. |
RenderStateQuality | Quality related render state. |
RenderStateScene | Static, streamable geometry render state. |
RenderStateStaticGeometryKinds | Flags for what types of geometry to render or not. |
RenderStateTerrain | Terrain render state. |
RenderStateTonemapping | Tone mapping related render state. |
RenderStateToonOutline | Toon shader related outline. |
RGBAOptions | Options for RGBA + alpha color transformation. |
SceneConfig | Scene Configuration |
ViewFrustum | The 6 planes of a view frustum, defined in world space. |
RenderStateChanges | A partial view of render state used for modifications. |
RenderStateDynamicMaterial | Material related render state. |
RenderStateDynamicVertexAttribute | Vertex attribute type for dynamic objects. |
RenderStateGroupAction | How to render the geometry of a highlight group. |
RGBATransform | 5x4 row-major matrix for color/opacity transform. |
createColorSetHighlight | Create a highlight color transform that replaces material colors. |
createHSLATransformHighlight | Create a highlight color transform that modifies material colors using hue, saturation and lightness. |
createNeutralHighlight | Create a highlight color transform that doesn't change colors. |
createRGBATransformHighlight | Create a highlight color transform that modifies material colors. |
createTransparentHighlight | Create a highlight color transform that replaces material opacity. |
downloadScene | Download scene from url. |
modifyRenderState | Create a new copy of render state with specified modifications. |
validateRenderState | Validate render state changes. |
Render View
Class, Interface, Type alias, Function | Description |
---|---|
View | A view base class for Novorender content. |
CameraControllerOptions | Camera controller switch options. |
Core3DImports | Core3D bundler/build resource imports. |
EnvironmentDescription | Background/IBL environment description |
MeasureImports | Core3D bundler/build resource imports. |
OfflineImports | Core3D bundler/build resource imports. |
PickSampleExt | Extended pick sample information. |
RenderStateTextureReference | PBR Material texture reference |
TextureDescription | PBR Material texture description |
ViewStatistics | View related render statistics. |
BuiltinCameraControllerKind | Kind strings of built-in camera controller. |
BuiltinCameraControllerType | Types of built-in camera controller. |
downloadCore3dImports | Download any missing imports. |
downloadMeasureImports | Download any missing imports. |
downloadOfflineImports | Download any missing imports. |
initCore3D | Create and initialize the core 3D render context. |