Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method FindClassTypes (const Lib3DS_QueryParameters queryParam_i, Boolean isIncludeSubclassTypes_i) const as constcontent owning Lib3DS_ClassTypes 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Find the instances of ClassTypes based on the type listed in the QueryParameters. 
 | 
    Give true in isIncludeSubclassTypes_i to also include the subclasses of the types in the QueryParameters. 
 | 
    The ClassTypes returned will be unique. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    result := construct( Lib3DS_ClassTypes, constcontent ); 
 | 
     
 | 
    traverse( queryParam_i, Type, type ) 
 | 
    { 
 | 
      classType := Lib3DS_ClassType::FindClassType( type.Name() ); 
 | 
      if( not isnull( classType ) ) 
 | 
      { 
 | 
        result.Add( classType ); 
 | 
         
 | 
        if( isIncludeSubclassTypes_i ) 
 | 
        { 
 | 
          subclassTypes := selectset( classType, AllSubTypes.SubType, st, true ); 
 | 
          result := result.Union( subclassTypes ); // do union to keep them unique 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return &result; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |