zoukankan      html  css  js  c++  java
  • IfcCorrectFillAreaStyle

    如果将不同的填充区域样式正确指定给IfcFillAreaStyle,则此函数返回true。只允许IfcFillStyleSelect提供的实体类型的某些组合。

    返回false:

    ①如果指定了多个外部定义的样式

    ②如果给定了外部定义的样式,并且附加了任何其他内部样式定义

    ③如果指定了一种以上的背景色

    ④如果两者都指定了图案填充和平铺

    否则返回true

    IFC2x3 TC1版本中增加新功能。

    EXPRESS Specification

    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 |
      '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 |
      'IFCPRESENTATIONAPPEARANCERESOURCE.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;
    QQ 3087438119
  • 相关阅读:
    模板方法模式
    策略模式
    享元模式
    组合模式
    桥接模式
    外观模式
    代理模式
    装饰者模式
    适配器模式
    类之间的关联关系和依赖关系
  • 原文地址:https://www.cnblogs.com/herd/p/14238962.html
Copyright © 2011-2022 走看看