@novorender/api
A library for building Novorender web apps.
Camera Controller
| Name | Description |
|---|---|
| CameraControllerOptions | Camera controller switch options. |
| BuiltinCameraControllerKind | Kind strings of built-in camera controller. |
| BuiltinCameraControllerType | Types of built-in camera controller. |
Camera Controllers
| Name | 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 behavior of an ethereal, hovering drone, allowing unconstrained movements through walls and obstacles. |
| HoverController | Hover flight controller. Fly speed/rotation is determined based on the mouse offset from the click position. |
| 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. |
| decomposeRotation | Decompose rotation quaternioan into 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
| Name | 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
| Name | Description |
|---|---|
| CylinderOptions | - |
| 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 specific errors from the measure API. |
| MeasureView | Master class for all measure functionality The functionality is split into separate 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 | - |
| AABB2 | - |
| AABB3 | - |
| Alignment | - |
| 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 |
| CylinderValues | CylinderValues is a collection of values for measuring a single cylinder |
| DeviationLabel | Deviation label 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 |
| HorizontalAlignment | - |
| 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 |
| MeasureObjectInfo | - |
| MeasureSettings | Additional options for measurement |
| OfflineContext | - |
| OfflineErrorMessage | Offline error message |
| 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. |
| 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 |
| StationDrawObject | - |
| StationInfo | - |
| StationsDrawObject | - |
| StationSegment | - |
| StationSegmentDrawObject | - |
| StationSegmentInfo | - |
| TextureSlot | Texture slot assignment return value. |
| 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. |
| CurvatureKind | - |
| CylinerMeasureType | Possible options when measuring and drawing cylinders |
| DeviationInspections | Deviation values taken from screen |
| DeviationInspectionSettings | Settings for deviation inspection |
| DeviationProjection | Projection, currently only circular 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 |
| HorizontalPointOfCurvature | - |
| Intersection | Sorted outlines on screen from closest to furthest from input point |
| 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 |
| PickSearchType | - |
| 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. |
| SlopeSegment | - |
| TextTemplate | Text template for formatting text, represents a single string |
| UnitType | - |
| VerticalPointOfCurvature | - |
| moduleShaders | Module shaders. |
| packageVersion | NPM package version, if applicable. |
| builtinControllers | Return the built-in camera controllers. |
| 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
| Name | 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
| Name | 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
| Name | Description |
|---|---|
| View | A view base class for Novorender content. |
| CameraControllerOptions | Camera controller switch options. |
| EnvironmentDescription | Background/IBL environment description |
| 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. |
| initCore3D | Create and initialize the core 3D render context. |