Pleasant3D_OpenSource / ToolPlugins / Slice / SliceKernel.h

//  SliceKernel.h
//  Slice
//  Created by Eberhard Rensch on 12.08.09.
//  Copyright 2009 Pleasant Software. All rights reserved.
//  This program is free software; you can redistribute it and/or modify it under
//  the terms of the GNU General Public License as published by the Free Software 
//  Foundation; either version 3 of the License, or (at your option) any later 
//  version.
//  This program is distributed in the hope that it will be useful, but WITHOUT ANY 
//  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
//  PARTICULAR PURPOSE. See the GNU General Public License for more details.
//  You should have received a copy of the GNU General Public License along with 
//  this program; if not, see <>.
//  Additional permission under GNU GPL version 3 section 7
//  If you modify this Program, or any covered work, by linking or combining it 
//  with the P3DCore.framework (or a modified version of that framework), 
//  containing parts covered by the terms of Pleasant Software's software license, 
//  the licensors of this Program grant you additional permission to convey the 
//  resulting work.

#import <Cocoa/Cocoa.h>
#import <OpenCL/OpenCL.h>
#import <P3DCore/P3DCore.h>

@interface SliceKernel : NSObject {
	cl_device_id device_id;
	cl_context context;
	cl_command_queue queue;
	cl_program program;
	cl_kernel kernelCalcLineOffsets;
	cl_kernel kernelSliceTriangles;
	cl_kernel kernelInsetLoop;
	cl_kernel kernelOptimizeCornerPoints;
	cl_kernel kernelOptimizeConnections;
	float extrusionHeight;
	float extrusionWidth;

@property (assign) float extrusionHeight;
@property (assign) float extrusionWidth;

- (P3DLoops*)slice:(IndexedSTLModel*)indexedModel;