aboutsummaryrefslogtreecommitdiff
path: root/mayaPlug/shaveBlindData.h
blob: 297f21d2ab296eeaa8b7d7f5149f647c3e901a1f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef _SHAVEBLINDDATA_H_
#define _SHAVEBLINDDATA_H_
// Shave and a Haircut
// (c) 2019 Epic Games
// US Patent 6720962

#include "shaveIO.h"

#include <maya/MPxData.h>
#include <maya/MTypeId.h>
#include <maya/MString.h>
#include <maya/MArgList.h>
#include <string.h>

#include "shaveSDK.h"


class blindShaveData : public MPxData
{
public:
    blindShaveData();
    blindShaveData( const size_t );
    virtual ~blindShaveData();

	//
	// Override methods in MPxData.
    virtual MStatus         readASCII( const MArgList&, unsigned& lastElement );
    virtual MStatus         readBinary(istream& in, unsigned length );
    virtual MStatus         writeASCII(ostream& out );
    virtual MStatus         writeBinary(ostream& out );
	virtual void			copy(const MPxData&); 

	void					clear();
	MString					name() const;
	void					resize(int newSize);
	static	void			setCurrentNode(MObject node);
	void					setValue(const void* newData, int newDataLen);
	MTypeId					typeId() const; 

	//
	// static methods and data.
	static const MString	dataTypeName;
    static MTypeId			dataTypeId;
	static void*			creator();

	MEMFILE  m;

protected:
};

#endif