<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_check_single_category_ent</TITLE><H1>%mqc_check_single_category_ent </H1><P CLASS="Paragraph">Classname: <B>%mqc_check_single_category_ent </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>
    Verifies whether the layer category contains the correct types of entities
Parameters:
   (String) opt_check_category:      -  Enter a layer category name.
                                        This is mandatory parameter for the checker.
   (List)   opt_valid_entity_type:   -  Set one or more entity types 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 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 "" which means no additional message.
Results:
  PASS    -- If the queried layer category only collects the specified entity type(s).
  FAILED  -- If the queried layer category collects any invalid entity type(s).
  The system will generate a warning if the given layer category does not exist.

<B>See Also:</B>
   %mqc_check_multi_category_ent
============================================================================================
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 Check Category / Entity Type mapping rules:
        (String)    opt_check_category:    "CATEGORY_TO_BE_CHECKED";
        (List)      opt_valid_entity_type: {SOLID,SOLID_BODY};
   3. (Optional) change log type:
        (Integer)    log_type:   1;
=============================================================================================
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_check_single_category_ent( %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 Category / Entity Type 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\">  Attribute for customization</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( Boolean )                     is_occ_on?: If ( 1 = check_mode_index: ) Then false Else true;

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( String )                      opt_check_category_label: "Category";


</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( List )                        opt_valid_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 )                      opt_valid_entity_type_label: "Entity Type";

 # parameter for log_option                                       
</SPAN></FONT></PRE></DIV><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";

 # parameter for log_message     
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( String Parameter )            opt_check_category: "";
( List Parameter )              opt_valid_entity_type: {};
( Integer Parameter )           log_type: 1;
( 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";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( List ) rules_to_check:
@{
    If -( opt_check_category: = "" ) & -( opt_check_category: = noValue ) & -( Empty?( opt_valid_entity_type: ) )

    Then  { {opt_check_category:, opt_valid_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 ( Empty?( rules_to_check: ) )

      Then
          ug_mqc_empty_param_warning()

      Else
      @{
          $rules_table <<  rules_to_check:;
                          

          $check_rules << Loop
          {
              For  $each_rule  In  $rules_table;

              For  $is_param_list_right  Is  mqc_check_param_list( $each_rule, true, { STRING, LIST } );

              do

                If ( $is_param_list_right )

                Then
                @{
                    $category_name << First( $each_rule );

                    $valid_type_list << Second( $each_rule );

                    If ( 0 = ug_mqc_checkRequiredCategory( { $category_name }, LOG_WARNING, "" ) )

                    Then  ug_mqc_checkCatObjMapping( $category_name, 
                                                             is_occ_on?:, 
                                                             $valid_type_list,
                                                             nth( log_type:, log_type_option: ), 
                                                             log_msg:)

                    Else  category_not_exist;
                }

                Else
                    param_list_false;
           };
      };
</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>