//+ // ============================================================================ // Copyright (C) Alias Systems Corp., and/or its licensors ("Alias"). // All rights reserved. These coded instructions, statements, computer // programs, and/or related material (collectively, the "Material") // contain unpublished information proprietary to Alias, which is // protected by Canadian and US federal copyright law and by international // treaties. This Material may not be disclosed to third parties, or be copied // or duplicated, in whole or in part, without the prior written consent of // Alias. ALIAS HEREBY DISCLAIMS ALL WARRANTIES RELATING TO THE MATERIAL, // INCLUDING, WITHOUT LIMITATION, ANY AND ALL EXPRESS OR IMPLIED WARRANTIES OF // NON-INFRINGEMENT, MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. // IN NO EVENT SHALL ALIAS BE LIABLE FOR ANY DAMAGES WHATSOEVER, WHETHER DIRECT, // INDIRECT, SPECIAL, OR PUNITIVE, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE // OR OTHER TORTIOUS ACTION, OR IN EQUITY, ARISING OUT OF OR RELATED TO THE // ACCESS TO, USE OF, OR RELIANCE UPON THE MATERIAL. // ============================================================================ //- #include #include #include #include #include #include #include #include class MIntArray; class MVectorArray; class MFnArrayAttrsData; #define McheckErr(stat, msg) \ if ( MS::kSuccess != stat ) \ { \ cerr << msg; \ return MS::kFailure; \ } class simpleFluidEmitter: public MPxFluidEmitterNode { public: simpleFluidEmitter(); virtual ~simpleFluidEmitter(); static void *creator(); static MStatus initialize(); virtual MStatus compute( const MPlug& plug, MDataBlock& block ); static MTypeId id; virtual MStatus fluidEmitter( MFnFluid& fluid, const MMatrix& worldMatrix, int plugIndex ); void omniFluidEmitter( MFnFluid&, const MMatrix&, int, MDataBlock&, double, double, double ); void volumeFluidEmitter( MFnFluid&, const MMatrix&, int, MDataBlock&, double, double, double ); void surfaceFluidEmitter( MFnFluid&, const MMatrix&, int, MDataBlock&, double, double, double ); void ownerFluidEmitter( MFnFluid&, const MMatrix&, int, MDataBlock&, double, double, double ); private: };