Interface Component

    • Method Detail

      • getBATID

        Optional<String> getBATID()
        Returns the BIM Authoring Tool ID (BATID) of this component if one is specified. Otherwise returns empty.
        Returns:
        the BIM Authoring Tool ID (BATID) of this component if one is specified
        Since:
        9.10.3
      • getComponentType

        ComponentType getComponentType()
        Returns the ComponentType of the entity.
        Returns:
        the type of the entity
        Since:
        9.10.2
      • getDescriptionText

        Optional<String> getDescriptionText()
        Returns a textual description of this component if one is specified. Otherwise returns empty.
        Returns:
        a textual description of this component if one is specified
        Since:
        9.10.3
      • getDisciplineName

        Optional<String> getDisciplineName()
        Returns the name of the discipline of this component if one is specified. Otherwise returns empty.
        Returns:
        the name of the discipline of this component if one is specified
        Since:
        9.10.3
      • getGlobalBottomElevation

        double getGlobalBottomElevation()
        Returns the global bottom elevation of this component in the model.

        The elevation is relative to the origin of the model.

        Returns:
        the global bottom elevation of this component in the model
        Since:
        9.10.3
      • getGlobalTopElevation

        double getGlobalTopElevation()
        Returns the global top elevation of this component in the model.

        The elevation is relative to the origin of the model.

        Returns:
        the global top elevation of this component in the model
        Since:
        9.10.3
      • getBottomElevationFromFloor

        double getBottomElevationFromFloor()
        Returns the bottom elevation of this component measured from the level of the floor on which this component is located.

        If the component is not located on any floor, then this method returns the global bottom elevation of the component.

        Returns:
        the bottom elevation of this component measured from the level of the floor on which this component is located
        Since:
        9.10.3
      • getTopElevationFromFloor

        double getTopElevationFromFloor()
        Returns the top elevation of this component measured from the level of the floor on which this component is located.

        If the component is not located on any floor, then this method returns the global top elevation of the component.

        Returns:
        the top elevation of this component measured from the level of the floor on which this component is located
        Since:
        9.10.3
      • getGUID

        String getGUID()
        Returns the GUID of this component specified in IFC.
        Returns:
        the GUID of this component specified in IFC
        Since:
        9.10.2
      • equals

        boolean equals​(Object object)
        Returns true if the components are equal.
        Overrides:
        equals in class Object
        Parameters:
        object - the other component
        Returns:
        true if the components are equal
        Since:
        9.10.2
      • getPropertySets

        Collection<PropertySet> getPropertySets()
        Returns the property sets of this component.
        Returns:
        the property sets of this component
        Since:
        9.10.2
      • getPropertySets

        Collection<PropertySet> getPropertySets​(String name)
        Returns the property sets of this component with the given name.
        Parameters:
        name - the name of the property set
        Returns:
        the property sets of this component with the given name
        Since:
        9.10.2
      • getPropertyValue

        <T> Optional<T> getPropertyValue​(PropertyReference propertyReference)
        Returns the value of property to which the given PropertyReference refers. If this entity does not contain the property to which the reference refers or if the property value is not of the given type, then returns empty.
        Type Parameters:
        T - the expected type of the property value
        Parameters:
        propertyReference - reference to the property whose value is returned if present
        Returns:
        the value of the property to which the given PropertyReference refers
      • getTriangleMesh

        TriangleMesh getTriangleMesh()
        Returns the TriangleMesh composed of the triangles of this component and its decomposed components.
        Returns:
        the TriangleMesh of this component and its decomposed components.
      • getBoundingBox

        AABB3d getBoundingBox()
        Calculates the axis-aligned bounding box for this component.
        Returns:
        the axis-aligned bounding box
      • getBuilding

        Optional<Building> getBuilding()
        Returns the building in which this component is located.
        Returns:
        the building in which this component is located
        Since:
        9.10.3
      • getFederatedFloor

        Optional<BuildingStorey> getFederatedFloor()
        Returns the federated floor on which this component is located. If this component is not located on any federated floor, then returns empty.

        Federated floors are calculated by Solibri Desktop and are based on the geometric location of components on storeys in the model.

        Returns:
        the federated floor on which this component is located
        Since:
        9.10.3
      • getFloor

        Optional<BuildingStorey> getFloor()
        Returns the floor on which this component is located. If this component is not marked to belong to any floor, then returns empty.

        The returned floor is the floor to which this component is located on based on IFC relations.

        Returns:
        the floor on which this component is located
        Since:
        9.10.3
      • getFootprint

        Footprint getFootprint()
        Returns the footprint for this component.
        Returns:
        the footprint for this component
      • getFunctionalSystems

        Set<FunctionalSystem> getFunctionalSystems()
        Returns a set of the systems of this component. If the component does not belong to any system, returns empty list.
        Returns:
        a set of the systems of this component
        Since:
        9.10.3
      • getRelated

        Collection<Component> getRelated​(Relation relation)
        Returns the components that are related to this component through the given relation.
        Parameters:
        relation - the relation through which the returned components are related to this component
        Returns:
        the components that are related to this component through the given relation
        Since:
        9.10.2
      • getName

        String getName()
        Returns the name of this component.

        The returned name is a short displayable name that describes the type of the component.

        Returns:
        the name of this component
        Since:
        9.10.2
      • getConstructionType

        Optional<String> getConstructionType()
        Returns the technical construction type of the component if it is specified. Otherwise returns empty.

        The returned type is a specific technical type, such as a type code. For getting the general type of the component, the getComponentType() method should be used.

        Returns:
        the technical type of the component if it is specified
        Since:
        9.10.3
      • getIntersections

        Set<Intersection> getIntersections​(Component component)
        Returns the intersections of this component and given component.
        Parameters:
        component - a component whose intersections with this component are to be calculated
        Returns:
        a set of intersections between this component and given component
        Since:
        9.10.2
        See Also:
        Intersection
      • distance

        Optional<Double> distance​(Vector3d point)
        Returns the minimum 3d distance between the surface of this Component and a given point, if it exists. If the point is inside the component, the distance will be from the point to the inner surface of the component. To check if a point is inside a component instead, use TriangleMesh.encloses(Vector3d) on the mesh obtained via getTriangleMesh().
        Parameters:
        point - the given point as Vector3d
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • distance

        Optional<Double> distance​(Component other)
        Returns the minimum 3d distance between the surfaces of this Component and another, if it exists. If the other component is inside the component, the distance will be from the inner component to the inner surface of the outer component.
        Parameters:
        other - the other Component
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • horizontalDistance

        Optional<Double> horizontalDistance​(Vector3d point)
        Returns the horizontal distance between the surface of this Component and a point, if it exists. If the point is inside the component, the distance will be from the point to the inner surface of the component.
        Parameters:
        point - the point as Vector3d
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • horizontalDistance

        Optional<Double> horizontalDistance​(Component other)
        Returns the horizontal distance between the surfaces of this Component and another, if it exists. If the other component is inside the component, the distance will be from the inner component to the inner surface of the outer component.
        Parameters:
        other - the other Component
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • verticalDistance

        Optional<Double> verticalDistance​(Vector3d point)
        Returns the vertical distance between the surface of this Component and a point, if it exists. If the point is inside the component, the distance will be from the point to the inner surface of the component.
        Parameters:
        point - the point as Vector3d
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • verticalDistance

        Optional<Double> verticalDistance​(Component other)
        Returns the vertical distance between the surfaces of this Component and another, if it exists. If the other component is inside the component, the distance will be from the inner component to the inner surface of the outer component.
        Parameters:
        other - the other Component
        Returns:
        the distance, if it exists
        Since:
        9.10.2
      • projectionOnXYPlaneDistance

        Optional<Double> projectionOnXYPlaneDistance​(Vector3d other)
        Returns the 2d distance between the projections of this Component and point on the XY-plane, if it exists.
        Parameters:
        other - point the point as Vector3d
        Returns:
        the distance on the XY-plane, if it exists
        Since:
        9.10.2
      • projectionOnXYPlaneDistance

        Optional<Double> projectionOnXYPlaneDistance​(Component other)
        Returns the 2d distance between the projections of this Component and another on the XY-plane, if it exists.
        Parameters:
        other - the other Component
        Returns:
        the distance on the XY-plane, if it exists
        Since:
        9.10.2
      • getProfile

        Optional<Profile> getProfile()
        Returns the profile of this component if it exists.
        Returns:
        the profile of this component if it exists.
        Since:
        9.10.3
      • isOnBuildingEnvelope

        boolean isOnBuildingEnvelope()
        Returns true if this component is modelled as part of a building envelope. The calculation is based on the property isExternal of this component, if it exists (some components do not have any property set with property isExternal).
        Returns:
        true if this component is modelled as part of a building envelope
        Since:
        9.10.3
      • getSite

        Optional<Site> getSite()
        Returns the site of the component if it exists.
        Returns:
        the site of the component if it exists
        Since:
        9.10.3
      • getMaterials

        List<Material> getMaterials()
        Returns a list of the materials of this component. A component can consist of multiple materials. Returns an empty list if no material information exists.
        Returns:
        a list of the materials of this component
        Since:
        9.10.3
      • getGroups

        Set<Group> getGroups()
        Returns a set of the groups of the component if any exists, otherwise returns empty collection.
        Returns:
        a set of the groups of the component if any exists, otherwise returns empty collection
        Since:
        9.10.4
      • getHyperlinks

        Collection<Hyperlink> getHyperlinks()
        Returns the hyperlinks associated with this component. If there are no hyperlinks for this component, then returns an empty collection.
        Returns:
        the hyperlinks associated with this component
        Since:
        9.10.4
      • getIfcEntityType

        Optional<IfcEntityType> getIfcEntityType()
        Returns the matching IFC entity type is the component matches one.
        Returns:
        the IFC entity type if such is found
        Since:
        9.10.6
      • getModel

        Model getModel()
        Returns the model to which this component belongs.
        Returns:
        the model
        Since:
        9.12.0
      • getInformation

        <T> Optional<T> getInformation​(Class<? extends Information<T>> information)
        Returns the custom information value for this component for the given custom information.
        Type Parameters:
        T - the type of the custom information return value
        Parameters:
        information - the information to get
        Returns:
        the value if defined for this component, empty optional otherwise
        Since:
        9.12.3