00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Mark Zadel 00008 * Side Effects Software Inc. 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: GU_Polypatch.h (C++) 00015 * 00016 * COMMENTS: 00017 * 00018 */ 00019 00020 #ifndef __GU_Polypatch_h__ 00021 #define __GU_Polypatch_h__ 00022 00023 #include "GU_API.h" 00024 #include <GEO/GEO_SurfaceType.h> 00025 00026 typedef enum GU_PolypatchBasisType 00027 { 00028 GU_POLYPATCH_BASIS_CARDINAL = 0, 00029 GU_POLYPATCH_BASIS_BSPLINE = 1 00030 } enum_polypatchbasistype; 00031 00032 typedef enum GU_PolypatchWrapType 00033 { 00034 GU_POLYPATCH_WRAP_OFF = 0, 00035 GU_POLYPATCH_WRAP_ON = 1, 00036 GU_POLYPATCH_WRAP_IFPRIM = 2 00037 } enum_polypatchwraptype; 00038 00039 typedef enum GU_PolypatchClampType 00040 { 00041 GU_POLYPATCH_CLAMP_OFF = 0, 00042 GU_POLYPATCH_CLAMP_ON = 1, 00043 GU_POLYPATCH_CLAMP_IFPRIM = 2 00044 } enum_polypatchclamptype; 00045 00046 class GU_API GU_PolypatchParms 00047 { 00048 public: 00049 GU_PolypatchParms(); 00050 ~GU_PolypatchParms(); 00051 00052 // Basis parameters 00053 GU_PolypatchBasisType basis; // Spline basis 00054 GEO_SurfaceType connectivity; // Patch connectivity 00055 00056 // Wrapping parameters 00057 GU_PolypatchWrapType isWrappedU; // Wrapped in U? 00058 GU_PolypatchWrapType isWrappedV; // Wrapped in V? 00059 00060 // Clamping parameters 00061 GU_PolypatchClampType isClampedFirstU; // First U clamped? 00062 GU_PolypatchClampType isClampedLastU; // Last U clamped? 00063 GU_PolypatchClampType isClampedFirstV; // First V clamped? 00064 GU_PolypatchClampType isClampedLastV; // Last V clamped? 00065 00066 // Division parameters 00067 int uDivisions; // Div/spline seg in U 00068 int vDivisions; // Div/spline seg in V 00069 00070 // Output parameters 00071 int outputPolygons; // Output polygons? 00072 }; 00073 00074 #endif
1.5.9