<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_check_single_layer_entity</TITLE><H1>%mqc_check_single_layer_entity </H1><P CLASS="Paragraph">Classname: <B>%mqc_check_single_layer_entity </B></P><P CLASS="Paragraph">Inherits from: <B><A href=..\checkmate\xug_base_checker.html>%ug_base_checker </A></B></P><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"> </PRE><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">
<B>Description:</B>
    Verify that the specified layers contain proper entity types.
Parameters:
    (String) layer_range_string    - String of the layer range description.
                                     This is a mandatory parameter.
                                     The layer range description string many contain
                                     multiple range descriptions sparated by commas,
                                     e.g. "1,3-5,7,9"
                                       means layer 1, plus layers 3 to 5
                                       plus layer 7, and layer 9.
    (List)   entity_type           - Type of entity to check
                                     Set one or more from the following list:
                                     { _CURVE, LINE, ARC, CONIC, SPLINE, SKETCH,
                                       SOLID, SOLID_BODY, SHEET_BODY, FACETED_BODY,
                                       COMPONENT, DATUM, DATUM_PLANE, DATUM_AXIS, _POINT,
                                       CSYS, DRAFTING_ENTITY, DIMENSION, _GROUP, PLANE,
                                       PATTERN, PATTERN_POINTS, FOREIGN_ENTITY,
                                       SOLID_COLLECT, SOLID_SECTION, SOLID_SILHOUETTE };
                                     This is the mandatory parameter for the checker.
    (Boolean)  disabled?           - If it is true, the checker is disabled.
                                     Default is False.
    (Boolean)  save_log_in_part    - The flag indicates whether the checking results can
                                     be saved to the part file
                                     Default is True.
    (Integer) log_type             - Indicate which logging type to use to report
                                     the violation
                                       1 - log error
                                       2 - log warning
                                       3 - log information
                                     The default value is 1 which is to log error.
    (String)  log_msg              - User defined message to be added when the system
                                     reports the violation.
                                     The default is an empty string.
Results:
    PASS    -- if all layers contain valid entity types.
    FAILED  -- if any layer contains an invalid entity type.

<B>See Also:</B>
   %mqc_check_multi_layer_entity
============================================================================================
Create a new checker from this template by providing the mandatory parameters:
   1. (Must) change the class name and the category name
   2. (Must) specify the Layers / Entity Type mapping rules:
        (String)    layer_range_string:   "1-5,20-30";
        (List)      entity_type: {SOLID, SOLID_BODY};
   3. (Optional) change log type:
        (Integer)    log_type:   1;
=============================================================================================
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_check_single_layer_entity( %ug_base_checker ); 
</FONT></PRE><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  Check-Mate attributes and parameters </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )               %test_category: "Template.File Structure";
   ( String )               %displayed_name: "Check Single Layer / Entity Mapping";
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter )    disabled?: false;
   ( Boolean Parameter )    save_log_in_part: true;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  Checker specific parameters and attributes</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )                layer_range_string_label:   "Layers";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String Parameter )      layer_range_string:   "";
   ( List Parameter )        entity_type: {};
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  parameter for log_option                                       </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( List )                  entity_type_init: 
                                 { _CURVE, LINE, ARC, CONIC, SPLINE, SKETCH, 
                                   SOLID, SOLID_BODY, SHEET_BODY, FACETED_BODY,
                                   COMPONENT, DATUM, DATUM_PLANE, DATUM_AXIS, 
                                   _POINT, CSYS, DRAFTING_ENTITY, DIMENSION,
                                   _GROUP, PLANE, PATTERN, PATTERN_POINTS, 
                                   FOREIGN_ENTITY, SOLID_COLLECT, SOLID_SECTION,
                                   SOLID_SILHOUETTE 
                                 };

   ( String )                entity_type_label: "Entity Type";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Integer Parameter )    log_type: 1;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  parameter for log_message     </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( List )                 log_type_option: { LOG_ERROR, LOG_WARNING, LOG_INFO };
   ( String )               log_type_label: "Log Option";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String Parameter )     log_msg: "";
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  Attribute for check rules:</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )               log_msg_label: "Log Message";


   ( Boolean )   is_valid_layer?: If ( layer_range_string: = "" | layer_range_string: = noValue )
                                  Then  false
                                  Else  ug_rexp_match( layer_range_string: , "[0-9][0-9,\-]{0,}" );

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( list ) rules_to_check:
   @{
       If -( Empty?( entity_type: ) ) & -( layer_range_string: = "" )
   
       Then  { { layer_range_string:, entity_type: } }
   
       Else  {};
    };

</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  Checking...</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Uncached ) do_check:

                    If  ( -is_valid_layer?: ) 

                    Then  ug_mqc_log( LOG_WARNING, {}, "Invalid layer string." )

                    Else if  Empty?( rules_to_check: )

                    Then  ug_mqc_empty_param_warning()

                    Else  Loop
                    {
                        For  $each_rule  In  rules_to_check:;
                        For  $layer_str  Is  First( $each_rule );
                        For  $entity_type  Is  Second( $each_rule );

                        Do ug_mqc_checkLayerEntity( $layer_str, $entity_type, Nth( log_type:, log_type_option: ), log_msg: );
                    };
</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>