Adds a callback triggered each time the internal clock ticks.
The internal clock is set at a fixed pace, and the callback is called at the end of the tick.
The callback may be called only if the tick triggered a modification in the rendering (in case an InfiniteEngineInterface is linked to this instance).
Returns a string id to use in removeCallback.
The id of the callback to be used in removeCallback.
Please use DisplayDone and Tick events instead.
Cancels the calculation of all running FilterSolverInterfaces, FilterItemInterfaces, VisibilityContextInterfaces ConfContextInterfaces.
The relevant interfaces will asynchronously trigger a "cancel" and "ready" signal when the canceling is done.
Please use cancelUpdate instead.
Gets the conversion ratio between two units.
A floating number corresponding to the Unit conversion ratio.
Please use convertUnitFactor instead.
Instantiates an annotation retrieval procedure to retrieve the content of a view of annotations.
Please see Annotations for more explanations about annotations.
Annotation views may be linked to part instances. The list of annotation views for a part instance
are retrieved by an IdCardGetterInterface, then individual views may be retrieved by
a AnnotationGetterInterface.
DO NOT create AnnotationGetterInterface before the DMU is loaded, such AnnotationGetterInterface will be silently discarded.
A new AnnotationGetterInterface.
Please use createAnnotationGetter instead.
Creates an AttachedDocumentInfoInterface to be used in a DocumentContentGetterInterface.
If the user knows the attached document id and the mime type of an attached document, then a
DocumentContentGetterInterface can be used to retrieve the corresponding attached document.
A new AttachedDocumentInfoInterface.
Please use createAttachedDocumentInfo instead.
Instantiates a metadata boolean attribute value filter.
A FilterBooleanInterface is a FilterItemInterface that elects part instances
that contain in their joined attribute set a boolean attribute (true, false) whose value
is set by
the FilterBooleanInterface.
The FilterBooleanInterface should be used inside a container (FilterSolverInterface, FilterSetInterface or FilterCompoundInterface).
The FilterBooleanInterface is bound to the currently loaded DMU.
DO NOT create FilterBooleanInterface before the DMU is loaded, such FilterBooleanInterface will be silently discarded.
Discard existing FilterBooleanInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterBooleanInterface.
Please use createBooleanFilter instead.
Instantiates a data retrieval procedure to retrieve the metadata documents
of the children of a list of part instance ids.
Such a list of metadata documents can be merged and customized to
display an metadata information of the children of a part instance.
DO NOT create ChildrenIdCardGetterInterface before the DMU is loaded, such ChildrenIdCardGetterInterface will be silently discarded.
A new ChildrenIdCardGetterInterface.
Please use createChildrenIdCardGetter instead.
Instantiates a group metadata filter.
A FilterCompoundInterface is a group filter that elects documents
whose metadata satisfy the clauses contained inside (FilterAttributeInterface,
FilterRangeInterface, FilterHasFieldInterface, FilterBooleanInterface).
When the set of documents that match the clauses are found, then part instances that
are referenced by these documents are elected.
The FilterCompoundInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterCompoundInterface is bound to the currently loaded DMU.
DO NOT create FilterCompoundInterface before the DMU is loaded, such FilterCompoundInterface will be silently discarded.
Discard existing FilterCompoundInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterCompoundInterface.
Please use createCompoundFilter instead.
Instantiates a ConfContextInterface.
A ConfContextInterface MUST be used inside a VisibilityContextInterface to create a valid filtering context. The ConfContextInterface is the expression of a selected configuration.
The ConfContextInterface is bound to the currently loaded DMU.
DO NOT create ConfContextInterface before the DMU is loaded, such ConfContextInterface will be silently discarded.
Discard existing ConfContextInterface before loading a new DataSessionInterface with dispose.
A new ConfContextInterface.
Please use createConfContext instead.
Instantiates an oriented bounding box diagonal SQUARED length filter.
A FilterDiagonalInterface is a FilterItemInterface that elects part instances
whom oriented bounding box diagonal SQUARED length is contained within the ranges
specified in the FilterDiagonalInterface.
The FilterDiagonalInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterDiagonalInterface is bound to the currently loaded DMU.
DO NOT create FilterDiagonalInterface before the DMU is loaded, such FilterDiagonalInterface will be silently discarded.
Discard existing FilterDiagonalInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterDiagonalInterface.
Please use createDiagonalFilter instead.
Instantiates a data retrieval procedure to retrieve the content of an attached document.
Attached document are documents (images, html pages, links, pdf documents, etc ...)
that may be linked to part instances. The list of available documents for a part instance
are retrieved by an IdCardGetterInterface, then individual documents may be retrieved by
a DocumentContentGetterInterface.
DO NOT create DocumentContentGetterInterface before the DMU is loaded, such DocumentContentGetterInterface will be silently discarded.
A new DocumentContentGetterInterface.
DocumentContentGetterInterface
Please use createDocumentContentGetter instead.
Instantiates a converter to translate a document id to its corresponding part instance ids and geometric instance ids.
A DocumentIdConverterInterface may be used in a search procedure.
DO NOT create DocumentIdConverterInterface before the DMU is loaded, such DocumentIdConverterInterface will be silently discarded.
A DocumentIdConverterInterface.
Please use createDocumentIdConverter instead.
Instantiates an axis aligned bounding box filter.
A FilterAABBInterface is a FilterItemInterface that elects part instances
whom triangles intersect the FilterAABBInterface AABB.
The FilterAABBInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterAABBInterface is bound to the currently loaded DMU.
DO NOT create FilterAABBInterface before the DMU is loaded, such FilterAABBInterface will be silently discarded.
Discard existing FilterAABBInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterAABBInterface.
Please use createFilterAABB instead.
Instantiates an all part instances filter.
A FilterAllPartsInterface is a FilterItemInterface that elects all part instances
of the DMU. It is the most optimized way to create a filter that contains all part instances.
The FilterAllPartsInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterAllPartsInterface is bound to the currently loaded DMU.
DO NOT create FilterAllPartsInterface before the DMU is loaded, such FilterAllPartsInterface will be silently discarded.
Discard existing FilterAllPartsInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterAllPartsInterface.
Please use createFilterAllParts instead.
Instantiates a metadata text attribute value filter.
A FilterAttributeInterface is a FilterItemInterface that elects part instances
that contain in their joined attribute set a string attribute whose value matches with the ones contained inside
the FilterAttributeInterface.
The FilterAttributeInterface should be used inside a container (FilterSolverInterface, FilterSetInterface or FilterCompoundInterface).
The FilterAttributeInterface is bound to the currently loaded DMU.
DO NOT create FilterAttributeInterface before the DMU is loaded, such FilterAttributeInterface will be silently discarded.
Discard existing FilterAttributeInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterAttributeInterface.
Please use createFilterAttribute instead.
Instantiates a metadata attribute filter.
A FilterHasFieldInterface is a FilterItemInterface that elects part instances
that contain in their joined attribute set an attribute whose name
is set by the FilterHasFieldInterface.
The FilterHasFieldInterface should be used inside a container (FilterSolverInterface, FilterSetInterface or FilterCompoundInterface).
The FilterHasFieldInterface is bound to the currently loaded DMU.
DO NOT create FilterHasFieldInterface before the DMU is loaded, such FilterHasFieldInterface will be silently discarded.
Discard existing FilterHasFieldInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterHasFieldInterface.
Please use createFilterHasField instead.
Instantiates a part instance ids list filter.
A FilterPartInstanceListInterface is a FilterItemInterface that elects part instances
whose part instance id is contained in the FilterPartInstanceListInterface part instance ids list.
WARNING : using a FilterPartInstanceListInterface is very risky since part instance ids are recomputed at
each new 3djuump Infinite build process.
The FilterPartInstanceListInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterPartInstanceListInterface is bound to the currently loaded DMU.
DO NOT create FilterPartInstanceListInterface before the DMU is loaded, such FilterPartInstanceListInterface will be silently discarded.
Discard existing FilterPartInstanceListInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterPartInstanceListInterface.
FilterPartInstanceListInterface
Please use createFilterPartInstanceList instead.
Instantiates a metadata numeric attribute value filter.
A FilterRangeInterface is a FilterItemInterface that elects part instances
that contain in their joined attribute set a numeric attribute (number, date, number range, date range) whose value
is contained within the ranges contained inside
the FilterRangeInterface.
The FilterRangeInterface should be used inside a container (FilterSolverInterface, FilterSetInterface or FilterCompoundInterface).
The FilterRangeInterface is bound to the currently loaded DMU.
DO NOT create FilterRangeInterface before the DMU is loaded, such FilterRangeInterface will be silently discarded.
Discard existing FilterRangeInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterRangeInterface.
Please use createFilterRange instead.
Instantiates a "group" filter.
A FilterSetInterface is a FilterItemInterface that allows grouping [FilterItemInterface | FilterItemInterfaces] to introduce an operator precedence between them. It is similar to a "parenthesis" system (see FilterOperator).
The FilterSetInterface can be used inside a container (FilterSolverInterface,
FilterSetInterface), but beware there is a hard coded limit on the number of
imbricated FilterSetInterface (a FilterSetInterface inside a FilterSetInterface
inside a FilterSetInterface etc ...).
Please refer to FilterSetInterface and getDepthContribution.
The FilterSetInterface is bound to the currently loaded DMU.
DO NOT create FilterSetInterface before the DMU is loaded, such FilterSetInterface will be silently discarded.
Discard existing FilterSetInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterSetInterface.
Please use createFilterSet instead.
Instantiates a FilterSolverInterface.
A FilterSolverInterface is the expression of a combination of multiple
FilterItemInterfaces with a specific operator to create
part instance ids sets and geometric instance ids sets.
The FilterSolverInterface is bound to the currently loaded DMU.
DO NOT create FilterSolverInterface before the DMU is loaded, such FilterSolverInterface will be silently discarded.
Discard existing FilterSolverInterface before loading a new DataSessionInterface with dispose.
A new FilterSolverInterface.
Please use createFilterSolver instead.
Instantiates a converter to translate geometric instance ids to their corresponding part instance ids.
This is the opposite of the PartInstanceConverterInterface.
DO NOT create GeometricInstanceConverterInterface before the DMU is loaded, such GeometricInstanceConverterInterface will be silently discarded.
A new GeometricInstanceConverterInterface.
GeometricInstanceConverterInterface
Please use createGeometricInstanceConverter instead.
Instantiates a data retrieval procedure to retrieve the metadata documents
associated to a list of part instance ids and their ancestors.
Such a list of metadata documents can be merged and customized to
display an "idcard" of a part instance and its ancestors.
DO NOT create IdCardGetterInterface before the DMU is loaded, such IdCardGetterInterface will be silently discarded.
A new IdCardGetterInterface.
Please use createIdCardGetter instead.
Instantiates a query string filter.
A FilterLiteralInterface is a FilterItemInterface that elects part instances
that have at least one individual metadata document that satisfies the string query set by the FilterLiteralInterface.
Such a query should be written in the 3djuump infinite literal and search query language.
The FilterLiteralInterface should be used inside a container (FilterSolverInterface, FilterSetInterface).
The FilterLiteralInterface is bound to the currently loaded DMU.
DO NOT create FilterLiteralInterface before the DMU is loaded, such FilterLiteralInterface will be silently discarded.
Discard existing FilterLiteralInterface before loading a new DataSessionInterface with destroyFilter.
A new FilterLiteralInterface.
Please use createLiteralFilter instead.
Instantiates a converter to translate part instances ids to their corresponding geometric instance ids.
This is the opposite of the GeometricInstanceConverterInterface.
DO NOT create PartInstanceConverterInterface before the DMU is loaded, such PartInstanceConverterInterface will be silently discarded.
A new PartInstanceConverterInterface.
PartInstanceConverterInterface
Please use createPartInstanceConverter instead.
Instantiates a search procedure.
A SearchInterface is used to trigger search query(ies) in the 3djuump infinite metadata documents, and returns matching metadata documents. The SearchInterface relies on the 3djuump infinite literal and search query language.
DO NOT create SearchInterface before the DMU is loaded, such SearchInterface will be silently discarded.
A new SearchInterface.
Please use createSearch instead.
Instantiates a filtering context.
A filtering context (VisibilityContextInterface) is composed of a list of
FilterSolverInterface(s),
and a required ConfContextInterface. Filtering context may be used
to restrict the next filtering requests
to a set a specific part instances.
DO NOT create VisibilityContextInterface before the DMU is loaded, such VisibilityContextInterface will be silently discarded.
Discard existing VisibilityContextInterface before loading a new DataSessionInterface.
A new filtering context bound to the currently loaded DMU.
Please use createVisibilityContext instead.
Gets rid of a FilterItemInterface.
Such a FilterItemInterface is removed from its parent FilerSetInterface, all its children FilterItemInterface are destroyed and clear.
A FilterItemInterface that was destroyed can no longer be used, the application should clear references to it to allow it being garbage collected.
Returns true if the FilterItemInterface has been destroyed, false if it has already been destroyed previously.
true if cleaned up.
Please use dispose instead.
Gets rid of this object.
After this call, this object can no longer be used.
If the object is an InfiniteObjectDispatcherInterface, then the ObjectDisposed signal is emitted.
Further uses of the object (with the exception of isDisposed and getInfiniteObjectType) will log a message with LL_UsingDisposedObject.
Gets the list of available annotation types.
Please see Annotations for more explanations about annotations.
Modifying this array in place results in undefined behavior.
DO NOT modify this array.
Please use getAnnotationTypes instead.
Gets the attributes dictionary of the DMU.
The AttributesDictionaryInterface is a read only interface to know all the available attributes and their types.
Please use getAttributesDictionary instead.
Gets the list of configurations.
Please see configurations for more explanations about configurations.
Modifying this array in place results in undefined behavior.
DO NOT modify this array.
Please use getConfigurationList instead.
Gets the Axis Aligned Bounding Box of the currently loaded DMU.
Returns false if no DMU is loaded (DMULoadingSuccess).
true if a DMU is loaded and pDmuAABBOut is updated.
Please use getDmuAABB instead.
Gets the Unit of the DMU currently loaded.
Returns U_Invalid if no DMU is loaded (DMULoadingSuccess).
The Unit of the DMU (millimeters, centimeters, meters, etc).
Please use getDmuBuildUnit instead.
Gets the axis aligned bounding box of the given geometric instance id.
Call this function after the DMU has been loaded (DMULoadingSuccess) with a previously created AABB.
Returns true if the given geometric instance id is valid.
true if pAABBOut is updated.
Please use getGeometricAABB instead.
geometric instance id to query.geometric instance.Gets the diagonal squared length of the Oriented Bounding Box (OBB) of the given geometric instance id.
Returns -1 if pGeometricInstanceId is an invalid geometric instance id, or the diagonal squared length of the OBB if it is valid.
The diagonal squared length of the OBB of the geometric instance or -1 if invalid.
Please use getGeometricOBBDiagonalSquaredLength instead.
geometric instance id to query.Gets the maximum diagonal squared length of all the Oriented Bounding Box (OBB) of all the geometric instances.
Returns the maximum diagonal squared length of the current DMU, or -1 if a DMU has not been loaded (DMULoadingSuccess).
The maximum diagonal squared length of the current DMU, or -1 if no DMU is loaded.
Please use getGeometricOBBDiagonalSquaredMax instead.
Gets the minimum diagonal squared length of all the Oriented Bounding Box (OBB) of all the geometric instances.
Returns the minimum diagonal squared length of the current DMU, or -1 if a DMU has not been loaded ().
The minimum diagonal squared length of the current DMU, or -1 if no DMU is loaded.
Please use getGeometricOBBDiagonalSquaredMin instead.
Tells the type of the given interface.
The type of the given interface.
Gets the maximum geometric instance id of the DMU.
Valid geometric instance ids range from 1 to getMaximumGeometricId() included.
Please refer to Main ID Types for more information.
Returns the maximum geometric instance id if a DMU is loaded (DMULoadingSuccess,
0 else.
The maximum geometric instance id, 0 if no DMU is loaded.
Please use getMaximumGeometricId instead.
Gets the maximum part instance id of the DMU.
Valid part instance ids range from 1 to getMaximumPartInstanceId() included.
Please refer to Main ID Types for more information.
Returns the maximum part instance id if a DMU is loaded (DMULoadingSuccess,
0 else.
The maximum part instance id, 0 if no DMU is loaded.
Please use getMaximumPartInstanceId instead.
Gets the object tweaking rendering/cache performance.
Cache size, max number of triangles, etc can be manipulated from the PerformanceInterface.
The performance interface used to tweak performance.
Gets a project document by its id.
Available project documents are :
Please refer to the integration manual to have more information about these documents.
It is very unlikely any developer will use these versioned documents.
Example (illustration purpose only):
const lDocs = [
{
"id": "com.3djuump:defaultsettings",
"profiles": [],
"settings": {
"backfaceculling": false,
"dynamiclowdefprofiles": {
"high": 2097152,
"standard": 1048576
},
"fieldofview": {
"degree": 25,
"orientation": "vertical"
},
"frameorientation": {
"dir": [
-1,
0,
0
],
"up": [
0,
0,
1
]
}
},
"subtype": "defaultsettings",
"tasksettings": {
"PresentationTask": {
"aspectratio": [
16,
9
]
}
},
"ts": 1591950944,
"type": "projectdocument",
"version": "8.0"
},
{
"id": "com.3djuump:indexinfo",
"internal": {
"effectivity": {
"SB": {
"nested": [
"effectivity"
],
"type": "keyword",
"values": [
"SB1",
"not_SB1"
]
},
"engine": {
"nested": [
"effectivity"
],
"type": "keyword",
"values": [
"A",
"B"
]
}
},
"metadata": {
"system": {
"type": "text",
"values": [
"Structure",
"Interior",
"Exterior",
"windows",
"Wheel base"
]
},
"test.nested.text": {
"nested": [
"metadata",
"test",
"nested"
],
"type": "text",
"values": [
"A",
"B",
"C"
]
},
"test.bool": {
"type": "boolean"
},
"test.date": {
"max": 1528114033000,
"min": 1528114033000,
"type": "date"
},
"test.date_range": {
"type": "date_range"
},
"test.double_range": {
"type": "double_range"
},
"test.int": {
"max": 1,
"min": 1,
"type": "double"
}
}
},
"seq": 814,
"subtype": "indexinfo",
"type": "indexdocument",
"version": 1
},
{
"id": "com.3djuump:scripts",
"scriptbase64": "base64 string",
"subtype": "scripts",
"taskscripts": {
"AnnotationTask": "base64 string"
},
"ts": 1598877573,
"type": "projectdocument",
"version": "8.0"
}
];
Returns the json document as a string if the given document is available in the 3djuump infinite project.
It is very unlikely any developer will use getProjectDocument("com.3djuump:scripts") as this script should be used for the 3djuump infinite native client.
The document as a string, or undefined if the document could not be found or the DMU is not loaded.
Please use getProjectDocument instead.
Computes the axis aligned bounding box of the given geometric instances.
This consists in the union of all the AABB of the geometric instances expressed by their
geometric instance ids.
Call this function once the DMU has been loaded (DMULoadingSuccess) with a previously created AABB.
Returns true if at least one geometric instance id inside pGeometricInstanceIds is valid. Invalid geometric instance ids
are silently discarded.
true if at least one geometric instance id inside pGeometricInstanceIds is valid and pAABBOut is therefore updated.
Please use getUnitedAABB instead.
geometric instance ids to query.geometric instance.Gets the version of the infinite API.
The version of the infinite API.
Please use getVersion.
Indicates if a callback exists in the list of callbacks triggered each time the internal clock ticks.
true if the callback exists in the list of callbacks.
Please use hasEventListener and hasEventListener instead.
Tells if this object has been gotten rid off.
true if dispose has been called on this object.
Tells if power saving mode is enabled.
Power saving mode is used to save CPU usage when the browser tab is hidden by introducing some frame throttling.
true if the power saving mode is enabled.
Please use isPowerSavingEnabled instead.
Removes a callback that was triggered each time the internal clock ticked.
The id obtained from addCallback should be used.
true if the callback was registered and has been removed.
Please use removeEventListener and removeEventListener instead.
Gets rid of a ConfContextInterface.
You may cleanup existing references in your application to allow the ConfContextInterface to be garbage collected. Such a ConfContextInterface will no longer be used in the 3djuump infinite API.
true if such a ConfContextInterface is valid and has not been removed yet.
Please use dispose instead.
Gets rid of a FilterSolverInterface.
You may cleanup existing references in your application to allow the FilterSolverInterface to be garbage collected. Such a FilterSolverInterface will no longer be used in the 3djuump infinite API.
true if such a FilterSolverInterface is valid and has not been removed yet.
Please use dispose instead.
Gets rid of a VisibilityContextInterface.
You may cleanup existing references in your application to allow the VisibilityContextInterface to be garbage collected. Such a VisibilityContextInterface will no longer be used in the 3djuump infinite API.
true if such a VisibilityContextInterface is valid and has not been removed yet.
Please use dispose instead.
Enables/Disables power saving mode.
Power saving mode is used to save CPU usage when the browser tab is hidden by introducing some frame throttling. The FilterSolverInterface calculations will be slower if the tab is hidden.
Power saving is disabled (false) by default.
Please use setPowerSavingEnabled instead.
Triggers the calculation of all modified FilterSolverInterfaces, FilterItemInterfaces, VisibilityContextInterfaces ConfContextInterfaces.
All the modified items are updated on the server according to their inter-dependencies.
The relevant interfaces will asynchronously trigger a "ready" signal when their calculation is over.
Please use update instead.
The MetadataManagerInterface is the object that links interfaces of the 3djuump infinite API together.
A connection to an infinite build relies on 3/4 interfaces linked together :
The MetadataManagerInterface is the first interface to be created, through the CreateMetadataManager.
At any moment, these 4 interfaces can be linked to at most one infinite build, but an infinite build can be closed and another open afterwards. If you need to connect to several infinite builds at once, you will need to create multiple sets of {MetadataManagerInterface / [DirectorySessionInterface](DirectorySessionInterface.html) / [DataSessionInterface](DataSessionInterface.html) / [InfiniteEngineInterface](InfiniteEngineInterface.html)}.
Performance information (PerformanceInterface) are accessed through the MetadataManagerInterface.
The MetadataManagerInterface will be removed in the next version. The relevant api has already been moved to the DataSessionInterface.
See