Example #1
0
int	CMeshInfo::CopyData( CMeshInfo* srcdata )
{
	int ret = 0;
	HRESULT hres;
	CVec3f* save_diff = 0;
	CVec3f*	save_spec = 0;
	CVec3f*	save_amb = 0;


	if( !srcdata ){
		DbgOut( "charpos2.cpp : CMeshInfo : CopyData : srcdata NULL !!!\n" );
		return 1;
	}

	// pointer メンバーの退避
	save_diff = diffuse;
	save_spec = specular;
	save_amb = ambient;

	// ベタコピー
	SetLastError( 0 );
	MoveMemory( (void*)this, (const void*)srcdata, sizeof( CMeshInfo ) );
	hres = GetLastError();
	if( hres ){
		ErrorMessage( "CMeshInfo : CopyData error ", hres );
		return 1;
	}

	// pointerメンバの復元と、内容コピー
	diffuse = save_diff;
	specular = save_spec;
	ambient = save_amb;
	
	ret = CopyMaterial( srcdata );
	if( ret ){
		DbgOut( "CMeshInfo : CopyData : CopyMaterial error !!!\n" );
		return 1;
	}

	//ret1 = diffuse->CopyData( srcdata->diffuse );
	//ret2 = specular->CopyData( srcdata->specular );
	//ret3 = ambient->CopyData( srcdata->ambient );
	//if( ret1 || ret2 || ret3 ){
	//	DbgOut( "charpos2.cpp : MeshInfo : CopyData : material CopyData error !!!\n" );
	//	return 1;
	//}

	return 0;
}
Example #2
0
object::object(const object& Object) : entity(Object), id(Object), VisualEffects(Object.VisualEffects)
{
  CopyMaterial(Object.MainMaterial, MainMaterial);
}
Example #3
0
/**********************************************************************
 * Function_Name: Overloading =
 * Return 		:
 * Comments 	:
 **********************************************************************/
Material& Material::operator =(const Material& rhsMaterial )
{
	CopyMaterial(rhsMaterial);

	return *this;
}
Example #4
0
/**********************************************************************
 * Function_Name: Copy Constructor
 * Return 		:
 * Comments 	:
 **********************************************************************/
Material::Material(const Material& rhsMaterial)
{

	CopyMaterial(rhsMaterial);

}