//--------------------------------------------------------- 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 ); }
static CONE *Copy_Cone(OBJECT *Object) { CONE *New; New = Create_Cone(); /* Get rid of the transformation created in Create_Cone(). */ Destroy_Transform(New->Trans); /* Copy cone. */ *New = *((CONE *)Object); New->Trans = Copy_Transform(((CONE *)Object)->Trans); return (New); }