//------------------------------------------------------------------------------------
// irr::scene::IParticleAttractionAffector wrappers
//------------------------------------------------------------------------------------

extern "C" 
{
	void IrrScene_IParticleAttractionAffector_setPoint( IParticleAttractionAffector* pa, vector3df* point )
	{
		if (pa) {
			pa->setPoint(*point);
		}
	}

	void IrrScene_IParticleAttractionAffector_setAttract( IParticleAttractionAffector* pa, bool attract )
	{
		if (pa) {
			pa->setAttract(attract);
		}
	}

	void IrrScene_IParticleAttractionAffector_setAffectX( IParticleAttractionAffector* pa, bool affect )
	{
		if (pa) {
			pa->setAffectX(affect);
		}
	}

	void IrrScene_IParticleAttractionAffector_setAffectY( IParticleAttractionAffector* pa, bool affect )
	{
		if (pa) {
			pa->setAffectY(affect);
		}
	}

	void IrrScene_IParticleAttractionAffector_setAffectZ( IParticleAttractionAffector* pa, bool affect )
	{
		if (pa) {
			pa->setAffectZ(affect);
		}
	}

	// must delete
	vector3df* IrrScene_IParticleAttractionAffector_getPoint(IParticleAttractionAffector* pa)
	{
		if (pa) {
			return new vector3df(pa->getPoint());
		} else return 0;
	}

	bool IrrScene_IParticleAttractionAffector_getAttract(IParticleAttractionAffector* pa)
	{
		if (pa) {
			return pa->getAttract();
		} return false;
	}

	bool IrrScene_IParticleAttractionAffector_getAffectX(IParticleAttractionAffector* pa)
	{
		if (pa) {
			return pa->getAffectX();
		} else return false;
	}

	bool IrrScene_IParticleAttractionAffector_getAffectY(IParticleAttractionAffector* pa)
	{
		if (pa) {
			return pa->getAffectY();
		} else return false;
	}

	bool IrrScene_IParticleAttractionAffector_getAffectZ(IParticleAttractionAffector* pa)
	{
		if (pa) {
			return pa->getAffectZ();
		} else return false;
	}
}

