Variable ComponentsSchemaConst

ComponentsSchema: ZodObject<{
    coloring: ZodArray<ZodObject<({ uuid: ZodString; color: ZodString; components: ZodArray<ZodObject<{ uuid: ZodString; ifcGuid: ZodOptional<ZodString>; originatingSystem: ZodOptional<...>; authoringToolId: ZodOptional<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>, "many">; }), "strip", ZodTypeAny, ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; }), ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })>, "many">;
    selection: ZodArray<ZodObject<({ uuid: ZodString; components: ZodArray<ZodObject<{ uuid: ZodString; ifcGuid: ZodOptional<ZodString>; originatingSystem: ZodOptional<ZodString>; authoringToolId: ZodOptional<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>, "many">; }), "strip", ZodTypeAny, ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; }), ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })>, "many">;
    uuid: ZodString;
    visibility: ZodObject<({ uuid: ZodString; defaultVisibility: ZodBoolean; viewSetupHints: ZodObject<{ spacesVisible: ZodBoolean; spaceBoundariesVisible: ZodBoolean; openingsVisible: ZodBoolean; }, "strip", ZodTypeAny, { ...; }, { ...; }>; components: ZodArray<...>; }), "strip", ZodTypeAny, ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; }), ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; })>;
}, "strip", ZodTypeAny, {
    coloring: ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[];
    selection: ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[];
    uuid: string;
    visibility: { uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; };
}, {
    coloring: ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[];
    selection: ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[];
    uuid: string;
    visibility: { uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; };
}> = ...

Type declaration

  • coloring: ZodArray<ZodObject<({ uuid: ZodString; color: ZodString; components: ZodArray<ZodObject<{ uuid: ZodString; ifcGuid: ZodOptional<ZodString>; originatingSystem: ZodOptional<...>; authoringToolId: ZodOptional<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>, "many">; }), "strip", ZodTypeAny, ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; }), ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })>, "many">

    The Coloring element allows specifying the color of components. For each color a list of components to be displayed with the that color should be provided.

    The color is given in ARGB format. Colors are represented as 6 or 8 hexadecimal digits. If 8 digits are present, the first two represent the alpha (transparency) channel. For example, 40E0D0 would be the color Turquoise. More information about the color format can be found on Wikipedia.

    Optimization Rules

    BCF is suitable for coloring a few components. A huge list of components causes poor performance. All clients should follow this rule:

    • If the size of colored components is huge (over 1000 components), alert the user and ask them to reduce the number of colored components.
  • selection: ZodArray<ZodObject<({ uuid: ZodString; components: ZodArray<ZodObject<{ uuid: ZodString; ifcGuid: ZodOptional<ZodString>; originatingSystem: ZodOptional<ZodString>; authoringToolId: ZodOptional<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>, "many">; }), "strip", ZodTypeAny, ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; }), ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })>, "many">

    The Selection element lists all components that should be selected (highlighted) when displaying a viewpoint.

    BCF is suitable for selecting a few components. A huge list of selected components causes poor performance. All clients should follow this rule:

    If the size of the selected components is huge (over 1000 components), alert the user and ask them to reduce the number of selected components.

  • uuid: ZodString

    The unique identifier of the entity.

    This is not in the BCF spec, but is used internally. However, when a BCF component requires a GUID, the uuid property is used.

  • visibility: ZodObject<({ uuid: ZodString; defaultVisibility: ZodBoolean; viewSetupHints: ZodObject<{ spacesVisible: ZodBoolean; spaceBoundariesVisible: ZodBoolean; openingsVisible: ZodBoolean; }, "strip", ZodTypeAny, { ...; }, { ...; }>; components: ZodArray<...>; }), "strip", ZodTypeAny, ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; }), ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; })>

    The Visibility element decides which objects are visible and which are hidden.

    Element/Attribute Optional Description
    DefaultVisibility Yes Boolean. Defaults to false
    • When true, all components should be visible unless listed in the exceptions
    • When false all components should be invisible unless listed in the exceptions
    Exceptions Yes A list of components to hide when DefaultVisibility=true or to show when DefaultVisibility=false
    ViewSetupHints Yes Boolean flags to allow fine control over the visibility of spaces, space boundaries and openings. A typical use of these flags is when DefaultVisibility=true but spaces, spaces boundaries and openings should remain hidden.
    All flags default to false
    • SpacesVisible - same as DefaultVisibility but restricted to spaces only
    • SpaceBoundariesVisible - same as DefaultVisibility but restricted to space boundaries only
    • OpeningsVisible - same as DefaultVisibility but restricted to openings only

    Optimization Rules

    BCF is suitable for hiding/showing a few components. A huge list of hidden/shown components causes poor performance. When encoding a viewpoint follow these rules:

    • If the list of hidden components is smaller than the list of visible components: set DefaultVisibility to true and put the hidden components in exceptions.
    • If the list of visible components is smaller or equals the list of hidden components: set default_visibility to false and put the visible components in exceptions.
    • If the size of exceptions is huge (over 1000 components), alert the user and ask them to alter the visibility to allow efficient encoding.
    • For spaces, space boundaries and openings follow the following guideline (using spaces as an example): When a viewpoint has no visible spaces, set the value of SpacesVisible to false. If there are any spaces visible in the viewpoint, set the value to be the same as DefaultVisibility and follow the optimization rules above while treating spaces like any other component
    Applying Visibility

    The visibility is applied in following order:

    1. Apply the DefaultVisibility
    2. Apply the ViewSetupHints
    3. Apply the Exceptions
    Example

    Consider the viewpoint provided below.

    1. Applying DefaultVisibility="false" hides all objects
    2. Applying SpacesVisible="true" shows all space
    3. Applying Exceptions
      1. Inverting the Wall visibility makes it visible
      2. Interting the Space visibility makes it invisible

    In summary, after applying the following viewpoint:

    1. All spaces are visible except one space which is hidden
    2. All the other objects are hidden except for one wall which is visible

Type declaration

  • coloring: ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[]

    The Coloring element allows specifying the color of components. For each color a list of components to be displayed with the that color should be provided.

    The color is given in ARGB format. Colors are represented as 6 or 8 hexadecimal digits. If 8 digits are present, the first two represent the alpha (transparency) channel. For example, 40E0D0 would be the color Turquoise. More information about the color format can be found on Wikipedia.

    Optimization Rules

    BCF is suitable for coloring a few components. A huge list of components causes poor performance. All clients should follow this rule:

    • If the size of colored components is huge (over 1000 components), alert the user and ask them to reduce the number of colored components.
  • selection: ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[]

    The Selection element lists all components that should be selected (highlighted) when displaying a viewpoint.

    BCF is suitable for selecting a few components. A huge list of selected components causes poor performance. All clients should follow this rule:

    If the size of the selected components is huge (over 1000 components), alert the user and ask them to reduce the number of selected components.

  • uuid: string

    The unique identifier of the entity.

    This is not in the BCF spec, but is used internally. However, when a BCF component requires a GUID, the uuid property is used.

  • visibility: { uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; }

    The Visibility element decides which objects are visible and which are hidden.

    Element/Attribute Optional Description
    DefaultVisibility Yes Boolean. Defaults to false
    • When true, all components should be visible unless listed in the exceptions
    • When false all components should be invisible unless listed in the exceptions
    Exceptions Yes A list of components to hide when DefaultVisibility=true or to show when DefaultVisibility=false
    ViewSetupHints Yes Boolean flags to allow fine control over the visibility of spaces, space boundaries and openings. A typical use of these flags is when DefaultVisibility=true but spaces, spaces boundaries and openings should remain hidden.
    All flags default to false
    • SpacesVisible - same as DefaultVisibility but restricted to spaces only
    • SpaceBoundariesVisible - same as DefaultVisibility but restricted to space boundaries only
    • OpeningsVisible - same as DefaultVisibility but restricted to openings only

    Optimization Rules

    BCF is suitable for hiding/showing a few components. A huge list of hidden/shown components causes poor performance. When encoding a viewpoint follow these rules:

    • If the list of hidden components is smaller than the list of visible components: set DefaultVisibility to true and put the hidden components in exceptions.
    • If the list of visible components is smaller or equals the list of hidden components: set default_visibility to false and put the visible components in exceptions.
    • If the size of exceptions is huge (over 1000 components), alert the user and ask them to alter the visibility to allow efficient encoding.
    • For spaces, space boundaries and openings follow the following guideline (using spaces as an example): When a viewpoint has no visible spaces, set the value of SpacesVisible to false. If there are any spaces visible in the viewpoint, set the value to be the same as DefaultVisibility and follow the optimization rules above while treating spaces like any other component
    Applying Visibility

    The visibility is applied in following order:

    1. Apply the DefaultVisibility
    2. Apply the ViewSetupHints
    3. Apply the Exceptions
    Example

    Consider the viewpoint provided below.

    1. Applying DefaultVisibility="false" hides all objects
    2. Applying SpacesVisible="true" shows all space
    3. Applying Exceptions
      1. Inverting the Wall visibility makes it visible
      2. Interting the Space visibility makes it invisible

    In summary, after applying the following viewpoint:

    1. All spaces are visible except one space which is hidden
    2. All the other objects are hidden except for one wall which is visible

Type declaration

  • coloring: ({ uuid: string; color: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[]

    The Coloring element allows specifying the color of components. For each color a list of components to be displayed with the that color should be provided.

    The color is given in ARGB format. Colors are represented as 6 or 8 hexadecimal digits. If 8 digits are present, the first two represent the alpha (transparency) channel. For example, 40E0D0 would be the color Turquoise. More information about the color format can be found on Wikipedia.

    Optimization Rules

    BCF is suitable for coloring a few components. A huge list of components causes poor performance. All clients should follow this rule:

    • If the size of colored components is huge (over 1000 components), alert the user and ask them to reduce the number of colored components.
  • selection: ({ uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; })[]

    The Selection element lists all components that should be selected (highlighted) when displaying a viewpoint.

    BCF is suitable for selecting a few components. A huge list of selected components causes poor performance. All clients should follow this rule:

    If the size of the selected components is huge (over 1000 components), alert the user and ask them to reduce the number of selected components.

  • uuid: string

    The unique identifier of the entity.

    This is not in the BCF spec, but is used internally. However, when a BCF component requires a GUID, the uuid property is used.

  • visibility: { uuid: string; components: { uuid: string; ifcGuid?: string | undefined; originatingSystem?: string | undefined; authoringToolId?: string | undefined; }[]; defaultVisibility: boolean; viewSetupHints: { ...; }; }

    The Visibility element decides which objects are visible and which are hidden.

    Element/Attribute Optional Description
    DefaultVisibility Yes Boolean. Defaults to false
    • When true, all components should be visible unless listed in the exceptions
    • When false all components should be invisible unless listed in the exceptions
    Exceptions Yes A list of components to hide when DefaultVisibility=true or to show when DefaultVisibility=false
    ViewSetupHints Yes Boolean flags to allow fine control over the visibility of spaces, space boundaries and openings. A typical use of these flags is when DefaultVisibility=true but spaces, spaces boundaries and openings should remain hidden.
    All flags default to false
    • SpacesVisible - same as DefaultVisibility but restricted to spaces only
    • SpaceBoundariesVisible - same as DefaultVisibility but restricted to space boundaries only
    • OpeningsVisible - same as DefaultVisibility but restricted to openings only

    Optimization Rules

    BCF is suitable for hiding/showing a few components. A huge list of hidden/shown components causes poor performance. When encoding a viewpoint follow these rules:

    • If the list of hidden components is smaller than the list of visible components: set DefaultVisibility to true and put the hidden components in exceptions.
    • If the list of visible components is smaller or equals the list of hidden components: set default_visibility to false and put the visible components in exceptions.
    • If the size of exceptions is huge (over 1000 components), alert the user and ask them to alter the visibility to allow efficient encoding.
    • For spaces, space boundaries and openings follow the following guideline (using spaces as an example): When a viewpoint has no visible spaces, set the value of SpacesVisible to false. If there are any spaces visible in the viewpoint, set the value to be the same as DefaultVisibility and follow the optimization rules above while treating spaces like any other component
    Applying Visibility

    The visibility is applied in following order:

    1. Apply the DefaultVisibility
    2. Apply the ViewSetupHints
    3. Apply the Exceptions
    Example

    Consider the viewpoint provided below.

    1. Applying DefaultVisibility="false" hides all objects
    2. Applying SpacesVisible="true" shows all space
    3. Applying Exceptions
      1. Inverting the Wall visibility makes it visible
      2. Interting the Space visibility makes it invisible

    In summary, after applying the following viewpoint:

    1. All spaces are visible except one space which is hidden
    2. All the other objects are hidden except for one wall which is visible

Generated using TypeDoc