
IfcCorrectFillAreaStyle
Definition from IAI: 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
HISTORY New function
in Release IFC2x3 TC1.
EXPRESS specification:
|
|
|
|
(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 |
'IFCPRESENTATIONAPPEARANCERESOURCE.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
TYPEOF(Style)));
Hatching := SIZEOF(QUERY(Style <* Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IFCFILLAREASTYLEHATCHING' IN
TYPEOF(Style)));
Tiles := SIZEOF(QUERY(Style <* Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IFCFILLAREASTYLETILES' IN
TYPEOF(Style)));
Colour := SIZEOF(QUERY(Style <* Styles |
'IFCPRESENTATIONRESOURCE.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);
|
|
|