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 * 00008 * Cristin Barghiel 00009 * Side Effects Software Inc. 00010 * 20 Maud St. 00011 * Toronto, Ontario, M5V 2M5 00012 * Canada 00013 * 416-366-4607 00014 * 00015 * NAME: GU_Warp.C (C++) 00016 * 00017 * COMMENTS: 00018 * This is the filter used to warp faces or surfaces. 00019 */ 00020 00021 #ifndef __GU_Warp_h__ 00022 #define __GU_Warp_h__ 00023 00024 #include "GU_API.h" 00025 #include <UT/UT_Matrix4.h> 00026 #include <GEO/GEO_Primitive.h> 00027 00028 class GB_PrimitiveGroup; 00029 00030 enum GU_WARP_OP { 00031 GU_MATRIX_WARP = 0, 00032 GU_NORMAL_WARP = 1, 00033 GU_POSITION_WARP = 2, 00034 GU_SELFUV_WARP = 3 00035 }; 00036 00037 class GU_API GU_WarpParms 00038 { 00039 public: 00040 GU_WarpParms(); 00041 ~GU_WarpParms() {} 00042 00043 00044 GU_WARP_OP op; 00045 00046 int warpU; 00047 float u; // [0,1] 00048 int useBiasU; 00049 float biasU; 00050 float sharpnessU; 00051 00052 int warpV; 00053 float v; // [0,1] 00054 int useBiasV; 00055 float biasV; 00056 float sharpnessV; 00057 00058 // xform, normalDist, pos, and selfu/v are exclusive 00059 UT_Matrix4 xform; 00060 float normalDist; 00061 float selfu, selfv; // must be unit coords ([0,1]) 00062 UT_Vector4 pos; 00063 00064 const GB_PrimitiveGroup *prims; 00065 }; 00066 00067 #endif
1.5.9