BuildingCoder.CmdCollectorPerformance.f4 C# (CSharp) Метод

f4() приватный Метод

private f4 ( Document doc ) : void
doc Document
Результат void
        void f4( Document doc )
        {
            // Use numeric evaluator and integer rule to test ElementId parameter
              // Filter levels whose id is greater than specified id value

              BuiltInParameter testParam
            = BuiltInParameter.ID_PARAM;

              ParameterValueProvider pvp
            = new ParameterValueProvider(
              new ElementId( (int) testParam ) );

              FilterNumericRuleEvaluator fnrv
            = new FilterNumericGreater();

              // filter elements whose Id is greater than 99

              ElementId ruleValId = new ElementId( 99 );

              FilterRule paramFr = new FilterElementIdRule(
            pvp, fnrv, ruleValId );

              ElementParameterFilter epf
            = new ElementParameterFilter( paramFr );

              FilteredElementCollector collector
            = new FilteredElementCollector( doc );

              collector.OfClass( typeof( ViewPlan ) )
            .WherePasses( epf ); // only deal with ViewPlan

              // Use numeric evaluator and integer rule to test bool parameter
              // Filter levels whose crop view is false

              int ruleValInt = 0;

              testParam = BuiltInParameter.VIEWER_CROP_REGION;

              pvp = new ParameterValueProvider(
            new ElementId( (int) testParam ) );

              fnrv = new FilterNumericEquals();

              paramFr = new FilterIntegerRule(
            pvp, fnrv, ruleValInt );

              epf = new ElementParameterFilter( paramFr );

              collector = new FilteredElementCollector( doc );

              collector.OfClass( typeof( ViewPlan ) )
            .WherePasses( epf ); // only deal with ViewPlan

              // Use numeric evaluator and double rule to test double parameter
              // Filter levels whose top offset is greater than specified value

              double ruleValDb = 10;

              testParam =
            BuiltInParameter.VIEWER_BOUND_OFFSET_TOP;

              pvp = new ParameterValueProvider(
            new ElementId( (int) testParam ) );

              fnrv = new FilterNumericGreater();

              paramFr = new FilterDoubleRule(
            pvp, fnrv, ruleValDb, double.Epsilon );

              collector = new FilteredElementCollector( doc );

              collector.OfClass( typeof( ViewPlan ) )
            .WherePasses( epf ); // only deal with ViewPlan

              // Use string evaluator and string rule to test string parameter
              // Filter all elements whose view name contains level

              String ruleValStr = "Level";

              testParam = BuiltInParameter.VIEW_NAME;

              pvp = new ParameterValueProvider(
            new ElementId( (int) testParam ) );

              FilterStringRuleEvaluator fnrvStr
            = new FilterStringContains();

              paramFr = new FilterStringRule(
            pvp, fnrvStr, ruleValStr, false );

              collector = new FilteredElementCollector( doc );

              collector.OfClass( typeof( ViewPlan ) )
            .WherePasses( epf ); // only deal with ViewPlan
        }