Skip to main content

@novorender/api / CoreModule

Class: CoreModule

Defined in: @novorender/src/measure/modules/core/module.ts:23

Standard measure module for standard measure functions

Extends

  • BaseModule

Constructors

Constructor

new CoreModule(worker, parent): CoreModule;

Defined in: @novorender/src/measure/modules/base.ts:5

Parameters

ParameterType
workerMeasureWorker
parentMeasureView

Returns

CoreModule

Inherited from

BaseModule.constructor

Methods

areaFromPolygon()

areaFromPolygon(vertices): object;

Defined in: @novorender/src/measure/modules/core/module.ts:165

Calculates the area from polygon. Treat polygon as closed, Z is treated as height and is ignored.

Parameters

ParameterTypeDescription
verticesReadonlyVec3[]Vertices defining the polygon, last and first vertex will be connected to create a closed polygon

Returns

object

The area of the selected polygon, do note this is 2d calulation and height is ignored

area
area: undefined | number;
polygon
polygon: ReadonlyVec3[];

getVertexEdges()

getVertexEdges(entity): Promise<undefined | EdgeValues[]>;

Defined in: @novorender/src/measure/modules/core/module.ts:429

Parameters

ParameterType
entityMeasureEntity

Returns

Promise<undefined | EdgeValues[]>


isParametricDataGenerated()

isParametricDataGenerated(id): Promise<boolean>;

Defined in: @novorender/src/measure/modules/core/module.ts:104

Novorender attempts to generate parametric data from tesselated objects if it is not provided in the file.

Parameters

ParameterTypeDescription
idnumberThe object id of selected object

Returns

Promise<boolean>

true if the parametric data is generated from novorender and not directly from parametric file *


measure()

measure(
a,
b?,
settingA?,
settingB?): Promise<undefined | MeasurementValues>;

Defined in: @novorender/src/measure/modules/core/module.ts:33

Measure object, if b is undefined then single measure values are returned else the measurement between 2 objects Standard measuring function for measure single or between 2 parametric objects.

Parameters

ParameterTypeDescription
aMeasureEntityThe entity that is being measured, this can either be a parametric object or a single point
b?MeasureEntityIf this is defined then the measure function will return the measurement between a and b.
settingA?MeasureSettingssettings for object a
settingB?MeasureSettingssettings for object b

Returns

Promise<undefined | MeasurementValues>

Measurement values either for a single object or between the objects


measureLineStrip()

measureLineStrip(vertices): LineStripMeasureValues;

Defined in: @novorender/src/measure/modules/core/module.ts:231

Measure between multiple points. Will return the angles, segment length and total length

Parameters

ParameterTypeDescription
verticesReadonlyVec3[]Vertices defining the line strip to be measured

Returns

LineStripMeasureValues

Angles, segment length and total length of the input linestrip


pickCurveSegment()

pickCurveSegment(id): Promise<undefined | MeasureEntity>;

Defined in: @novorender/src/measure/modules/core/module.ts:70

Parameters

ParameterTypeDescription
idnumberThe object id of selected object

Returns

Promise<undefined | MeasureEntity>

the measure entity for given object if it is a single curveSegment


pickMeasureEntity()

pickMeasureEntity(
id,
selectionPosition,
tolerance?,
allowGenerated?): Promise<{
connectionPoint?: vec3;
entity: MeasureEntity;
status: LoadStatus;
}>;

Defined in: @novorender/src/measure/modules/core/module.ts:52

Returns the measure entity for given object and location, measure entity is a single part of a parametric object, such as surface, edge or vertex. If the object and position does not contain parametric data a single vertex will be returned

Parameters

ParameterTypeDescription
idnumberThe object id of selected object
selectionPositionReadonlyVec3selected position, this is required to select the individual part of the parametric object
tolerance?SnapToleranceTolerance for picking, the distance used is in meters
allowGenerated?boolean-

Returns

Promise<{ connectionPoint?: vec3; entity: MeasureEntity; status: LoadStatus; }>

Selected measure entity, this will be a vertex if nothing can be selected at the location status if the object is loaded, and connection point where the parametric object has been selected.


pickMeasureEntityOnCurrentObject()

pickMeasureEntityOnCurrentObject(
id,
selectionPosition,
tolerance,
allowGenerated?): Promise<{
connectionPoint?: vec3;
entity: undefined | MeasureEntity;
status: LoadStatus;
}>;

Defined in: @novorender/src/measure/modules/core/module.ts:81

Returns the measure entity for given object and location if the current object is selected This is much faster than pickMeasureEntity and can be used for hover

Parameters

ParameterTypeDescription
idnumberThe object id of selected object
selectionPositionReadonlyVec3selected position, this is required to select the individual part of the parametric object
toleranceSnapToleranceTolerance for picking, the distance used is in meters
allowGenerated?boolean-

Returns

Promise<{ connectionPoint?: vec3; entity: undefined | MeasureEntity; status: LoadStatus; }>

Selected measure entity, this will be undefined if nothing is selectable at current position *


swapCylinder()

swapCylinder(entity, to): Promise<undefined | MeasureEntity>;

Defined in: @novorender/src/measure/modules/core/module.ts:139

Swaps between inner and outer cylinder, returns undefined if there is only one

Parameters

ParameterTypeDescription
entityMeasureEntityEntity to be swapped
to"inner" | "outer"Force cylinder to either be inner or outer

Returns

Promise<undefined | MeasureEntity>

Returns a new entity of the selected cylinder, if there is only one cylinder undefined is returned.

Properties

parent

readonly parent: MeasureView;

Defined in: @novorender/src/measure/modules/base.ts:7

Inherited from

BaseModule.parent

worker

readonly worker: MeasureWorker;

Defined in: @novorender/src/measure/modules/base.ts:6

Inherited from

BaseModule.worker