CanadianMachines / MachineLib / AirSource.h
AirSource.h
Raw
/**
 * @file AirSource.h
 * @author sriram
 *
 *
 */

#ifndef CANADIANEXPERIENCE_MACHINELIB_AIRSOURCE_H
#define CANADIANEXPERIENCE_MACHINELIB_AIRSOURCE_H

#include "AirSink.h"
#include "BezierEnd.h"

/**
 * air source that feeds air
 */
class AirSource: public BezierEnd
{
private:

	///pressure
	double mPressure = 0;

	///airsink
	AirSink* mSink = nullptr;

public:
	///constructor
	AirSource(){}

	/// Copy constructor (disabled)
	AirSource(const AirSource &) = delete;

	/// Assignment operator
	void operator=(const AirSource &) = delete;

	/**
	 * sends the pressure
	 * @param pressure
	 */
	void SendPressure(double pressure);

	/**
	 * getter for airsink
	 * @return
	 */
	AirSink* GetSink(){return mSink;}

	/**
	 * setter for sink
	 * @param sink
	 */
	void SetSink(AirSink *sink);
};

#endif //CANADIANEXPERIENCE_MACHINELIB_AIRSOURCE_H