IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) โš  buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.12.6.1 IfcCorrectFillAreaStyle

8.12.6.1.1 Semantic definition

This function returns true if the different fill area styles are assigned correctly to the IfcFillAreaStyle. Only certain combinations of the entity types provided by the IfcFillStyleSelect are allowed.

Return false:

  • if more then one externally defined style is assigned
  • if an externally defined style is given and any other internal style definition is attached additionally
  • if more then one background colour is assigned
  • if both, a hatching and a tiling is assigned

otherwise return true

8.12.6.1.2 Formal representation

FUNCTION IfcCorrectFillAreaStyle
(Styles : SET[1:?] OF IfcFillStyleSelect)
:LOGICAL;
LOCAL
Hatching : INTEGER := 0;
Tiles : INTEGER := 0;
Colour : INTEGER := 0;
External : INTEGER := 0;
END_LOCAL;
External := SIZEOF(QUERY(Style <* Styles |
'IFC4X4_DEV_20260525.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
TYPEOF(Style)));
Hatching := SIZEOF(QUERY(Style <* Styles |
'IFC4X4_DEV_20260525.IFCFILLAREASTYLEHATCHING' IN
TYPEOF(Style)));
Tiles := SIZEOF(QUERY(Style <* Styles |
'IFC4X4_DEV_20260525.IFCFILLAREASTYLETILES' IN
TYPEOF(Style)));
Colour := SIZEOF(QUERY(Style <* Styles |
'IFC4X4_DEV_20260525.IFCCOLOUR' IN
TYPEOF(Style)));
IF (External > 1) THEN
RETURN (FALSE);
END_IF;
IF ((External = 1) AND ((Hatching > 0) OR (Tiles > 0) OR (Colour > 0))) THEN
RETURN (FALSE);
END_IF;
IF (Colour > 1) THEN
RETURN (FALSE);
END_IF;
IF ((Hatching > 0) AND (Tiles >0)) THEN
RETURN (FALSE);
END_IF;
RETURN(TRUE);
END_FUNCTION;

8.12.6.1.3 References

Edit on Github

3 contributor(s): ArturTomczakbSI-BotDion Moult
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!