/*
 *	H E X A C O N E   -   G A D G E T S
 *   nouveau projet du Thu Dec  5 11:37:05 AM UTC 2024
 */

#version 3.7;

// =======================================================
#declare QuadriPole = object
{
#local R = 0.02;
#local E = 0.25;
#local H = H_cone*2;
union {
	cylinder { 0, y*H, R   translate -x*E }
	cylinder { 0, y*H, R   translate  x*E }
	cylinder { 0, y*H, R   translate -z*E }
	cylinder { 0, y*H, R   translate  z*E }
	}
texture { WIP_color }
#undef E
#undef H
#undef R
}
// =======================================================
/*
 *	first written macro for testing the generation of
 *	differente instances of the same shape.
 */
#macro Bubble ()
sphere {
	0, 0.065
	#local R = rand(Rng1);
	#if   ( R < 0.333 )
	  texture { Ruby_Glass }
	#elseif ( R < 0.666 )
	  texture { Orange_Glass }
	#else
	  texture { Gold_Nugget }
	#end
	#undef R
	}
#end

#macro Un_Machin ()
union	{
	#for (Y, 1, 8, 1)
	    object { Bubble() translate y*Y*0.1 }
	#end
	}
#end

#declare Les_Machins = object
{
union	{
	#local Rk = 3.95 + NormClock;
	#for (foo, 0, 359, 45)
		#local Xpos = Rk * sin(radians(foo));
		#local Zpos = Rk * cos(radians(foo));
		object { Un_Machin () translate <Xpos, 0, Zpos> }
	#end
	#undef Rk
	}
}

// =======================================================