//---------------------------------------------------------
bool CGrid_Geometric_Figures::On_Execute(void)
{
	int		NXY;
	double	DXY;
	CSG_Grid	*pGrid;

	//-----------------------------------------------------
	NXY		= Parameters("CELL_COUNT")	->asInt();
	DXY		= Parameters("CELL_SIZE")	->asDouble();

	Parameters("RESULT")->asGridList()->Add_Item(
		pGrid	= SG_Create_Grid(SG_DATATYPE_Float, NXY, NXY, DXY)
	);

	//-----------------------------------------------------
	switch( Parameters("FIGURE")->asInt() )
	{
	case 0:	default:
		Create_Cone		(pGrid, true);
		break;

	case 1:
		Create_Cone		(pGrid, false);
		break;

	case 2:
		Create_Plane	(pGrid, Parameters("PLANE")->asDouble());
		break;
	}

	//-----------------------------------------------------
	return( true );
}
Пример #2
0
static PLANE *Copy_Plane (OBJECT *Object)
{
  PLANE *New;

  New = Create_Plane();

  Destroy_Transform(New->Trans);

  *New = *((PLANE *)Object);

  New->Trans = Copy_Transform(((PLANE *)Object)->Trans);

  return(New);
}