Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Intoduction

Class diagram represent API architecture, objects (classes) structure, services (methods) and their relations.

...

Anchor
object_definition
object_definition

Objects, elements, node and topology definition

Topology tree consist of objects which can have or have no graphical representation:

...

Anchor
geometry_formats
geometry_formats

Geometry types

Note

Note: Objects with geometry types "mesh" or "meshblob" can be written into BIM+ database. Geometry type "threejs" optimized for viewing on mobile devices or in browser and can not be written to the database directly.

Mesh type
Code Block
mesh: {
	colors: 4291993670,
	vertices: [ 96.149, 179.546, ... ],
	faces: [ 4,0,1,2,3, 3,4,5,6, ... ]
}

where:
    color:  array of decimal RGBA values;
    vertices: plain array of 3D vertices coordinates like [x0, y0, z0, x1, y1, z1, ...]
    faces: plain array of faces definitions like first number is quantity of vertices, than vertex indices list, see example.

Mesh BLOB type

This type generally compressed mesh format intended to be used in the desktop CAD applications. Internal CAD format of the geometry with help of client side C# DLL will be converted into BIM+ mesh format (described above) and compressed (z.b. with ZIP) in order to get smaller JSON size. In this case JSON objects looks like:

Code Block
meshblob: "d273f7a6a7d8f8725484fe6282..."
TreeJS type

as mentioned above this format is optimized for viewing on mobile devices or in browser. Native model will be filtered and tessellated in order to deliver minimal JSON size and maximal navigation speed (FPS). This model has ThreeJS JSON v 3.1 format and can be directly parsed by the client. JSON object in this case looks like:

Code Block
threejs: {
	elementcount: 14312,
	viewbox: {
		x: 827364,
		y: 23765,
		z: 2974652,
		with: 827346,
		height: 2873456,
		depth: 1726354
	},
	colors: [123414, 9817413, ....],
	geometries: [ {<ThreeJS_JSON_format>}, {...}, ... ]
}

Class diagram (v2, draft)

Anchor
class_diagram
class_diagram

...