コード例 #1
0
void FGeomObject::GetFromSource()
{
	PolyPool.Empty();
	EdgePool.Empty();
	VertexPool.Empty();

	for( int32 p = 0 ; p < GetActualBrush()->Brush->Polys->Element.Num() ; ++p )
	{
		FPoly* poly = &(GetActualBrush()->Brush->Polys->Element[p]);

		new( PolyPool )FGeomPoly();
		FGeomPoly* gp = &PolyPool[ PolyPool.Num()-1 ];
		gp->SetParentObjectIndex( GetObjectIndex() );
		gp->ActualPolyIndex = p;

		for( int32 v = 1 ; v <= poly->Vertices.Num() ; ++v )
		{
			int32 idx = (v == poly->Vertices.Num()) ? 0 : v,
				previdx = v-1;

			int32 eidx = AddEdgeToPool( gp, PolyPool.Num()-1, previdx, idx );
			gp->EdgeIndices.Add( eidx );
		}
	}

	ComputeData();
}
コード例 #2
0
double inpainting::ComputePriority(int i, int j) {
  double confidence, data;
  confidence = ComputeConfidence(i, j);
  data = ComputeData(i, j);
  double res = (0.35 + 0.6 * pix_been_inpainted / pix_to_inpaint + 0.01) * (0.7 + 0.3 * confidence - 0.6 * pix_been_inpainted / pix_to_inpaint - 0.01) + 0.65 * data;
  return res;
  //  return confidence*data;
}
コード例 #3
0
ファイル: PlanetWars.cpp プロジェクト: beanhome/dev
void PlanetWars::NewTurn(uint16 iTurnNumber, const string& gameState, bool bInverted)
{
	m_iTurnNumber = iTurnNumber;
	m_iFleetCounter = 0;
	m_iRequestCounter = 0;

	Clear();

	ParseGameState(gameState, bInverted);
	m_fSize = sqrt(m_fWidth*m_fWidth+m_fHeight*m_fHeight);

	ComputeData();
}
コード例 #4
0
void BoundingObjectCutter::GenerateData()
{
  mitk::Image::ConstPointer input = this->GetInput();
  mitk::Image::Pointer output = this->GetOutput();

  if(input.IsNull())
    return;  

  if((output->IsInitialized()==false) || (m_BoundingObject.IsNull()) || (m_BoundingObject->GetTimeSlicedGeometry()->GetTimeSteps() == 0))
    return;

  m_InputTimeSelector->SetInput(input);
  m_OutputTimeSelector->SetInput(this->GetOutput());

  mitk::Surface::RegionType outputRegion = output->GetRequestedRegion();
  const mitk::TimeSlicedGeometry *outputTimeGeometry = output->GetTimeSlicedGeometry();
  const mitk::TimeSlicedGeometry *inputTimeGeometry = input->GetTimeSlicedGeometry();
  const mitk::TimeSlicedGeometry *boundingObjectTimeGeometry = m_BoundingObject->GetTimeSlicedGeometry();
  ScalarType timeInMS;

  int timestep=0;
  int tstart=outputRegion.GetIndex(3);
  int tmax=tstart+outputRegion.GetSize(3);

  int t;
  for(t=tstart;t<tmax;++t)
  {
    timeInMS = outputTimeGeometry->TimeStepToMS( t );

    timestep = inputTimeGeometry->MSToTimeStep( timeInMS );

    m_InputTimeSelector->SetTimeNr(timestep);
    m_InputTimeSelector->UpdateLargestPossibleRegion();
    m_OutputTimeSelector->SetTimeNr(t);
    m_OutputTimeSelector->UpdateLargestPossibleRegion();

    timestep = boundingObjectTimeGeometry->MSToTimeStep( timeInMS );

    ComputeData(m_InputTimeSelector->GetOutput(), timestep);
  }

  m_InputTimeSelector->SetInput(NULL);
  m_OutputTimeSelector->SetInput(NULL);

  m_TimeOfHeaderInitialization.Modified();
}
コード例 #5
0
double inpainting::ComputePriority(int i, int j) {
  double confidence, data;
  confidence = ComputeConfidence(i,j);
  data = ComputeData(i,j);
  return confidence*data;
}