//
//	Copyright © 2008 Nemetschek North America 
//	All Rights Reserved.
//
// Created by Vladislav Stanev

#pragma once

namespace VWFC
{
	using namespace Math;

	namespace VWObjects
	{
		class VWBodyObj : public VWObject
		{
		public:
							VWBodyObj();
							VWBodyObj(const VWBodyObj& src);
							VWBodyObj(MCObjectHandle hObj);
			virtual			~VWBodyObj();

			VWBodyObj&		operator=(const VWBodyObj& src);

		public:
			size_t			GetBodyCount();
			bool			GetBody(size_t index, VWBody& outBody);

		// tool
		public:
			// Return true if the specified object handle is suitable for body creation
			static bool		IsBodyObject(MCObjectHandle hObj);

		private:
			std::vector<int>	fBodies;
			IVWUnknown*			fpAPI;
			IVWUnknown*			fp;
		};
	}
}