Example #1
0
void print_partition(int n, COMPONENT* part)
{
   int i,c = 0;
   for(i=0; i<n; i++)
   {
      if(part[i].size != 0)
      {
         c++;
	 print_component(&part[i]);
      }
   }
   printf(", #comp = %d\n", c);
}
static void
print_closure (std::ostream &out, const ClosureColor *closure, ShadingSystemImpl *ss, const Color3 &w, bool &first)
{
    if (closure == NULL)
        return;

    switch (closure->id) {
        case ClosureColor::MUL:
            print_closure(out, closure->as_mul()->closure, ss, closure->as_mul()->weight * w, first);
            break;
        case ClosureColor::ADD:
            print_closure(out, closure->as_add()->closureA, ss, w, first);
            print_closure(out, closure->as_add()->closureB, ss, w, first);
            break;
        default:
            if (!first)
                out << "\n\t+ ";
            print_component (out, closure->as_comp(), ss, w);
            first = false;
            break;
    }
}
Example #3
0
static void
print_closure (std::ostream &out, const ClosureColor *closure, ShadingSystemImpl *ss, const Color3 &w, bool &first)
{
    ClosureComponent *comp;
    if (closure == NULL)
        return;

    switch (closure->type) {
        case ClosureColor::MUL:
            print_closure(out, ((ClosureMul *)closure)->closure, ss, ((ClosureMul *)closure)->weight * w, first);
            break;
        case ClosureColor::ADD:
            print_closure(out, ((ClosureAdd *)closure)->closureA, ss, w, first);
            print_closure(out, ((ClosureAdd *)closure)->closureB, ss, w, first);
            break;
        case ClosureColor::COMPONENT:
            comp = (ClosureComponent *)closure;
            if (!first)
                out << "\n\t+ ";
            print_component (out, comp, ss, w);
            first = false;
            break;
    }
}