///////////////////////////////////////////////////////// // // torus // ///////////////////////////////////////////////////////// // Constructor // ///////////////////////////////////////////////////////// torus :: torus(int argc, t_atom *argv) : GemGluObj(1.f) { float size = 1.f; int numSlices = 10; m_innerRadius = 0.5f; switch(argc){ case 3: size = atom_getfloat(&argv[0]); numSlices = atom_getint(&argv[1]); m_innerRadius = atom_getfloat(&argv[2]); break; case 2: size = atom_getfloat(&argv[0]); numSlices = atom_getint(&argv[1]); break; case 1: size = atom_getfloat(&argv[0]); case 0: break; default: throw(GemException("needs 0, 1, 2 or 3 arguments")); } sizeMess(size); numSlicesMess(numSlices); inlet_new(this->x_obj, &this->x_obj->ob_pd, gensym("float"), gensym("inner")); }
///////////////////////////////////////////////////////// // // part_targetsize // ///////////////////////////////////////////////////////// // Constructor // ///////////////////////////////////////////////////////// part_targetsize :: part_targetsize(t_floatarg size, t_floatarg scale) { if (size != 0.f) { sizeMess(size, size, size); } else { sizeMess(1.f, 1.f, 1.f); } if (scale != 0.f) { scaleMess(scale, scale, scale); } else { scaleMess(.05f, 0.05f, 0.05f); } // create the new inlet inlet_new(this->x_obj, &this->x_obj->ob_pd, &s_float, gensym("ft1")); inlet_new(this->x_obj, &this->x_obj->ob_pd, &s_float, gensym("ft2")); }