1e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen/* 2e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * Copyright (C) 2011 The Android Open Source Project 3e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * 4e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * Licensed under the Apache License, Version 2.0 (the "License"); 5e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * you may not use this file except in compliance with the License. 6e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * You may obtain a copy of the License at 7e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * 8e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * http://www.apache.org/licenses/LICENSE-2.0 9e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * 10e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * Unless required by applicable law or agreed to in writing, software 11e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * distributed under the License is distributed on an "AS IS" BASIS, 12e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * See the License for the specific language governing permissions and 14e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen * limitations under the License. 15e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen */ 16e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 17e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen/////////////////////////////////////////////////// 18e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen// CSite.h 19e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen// $Id: CSite.h,v 1.3 2011/06/17 13:35:47 mbansal Exp $ 20e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 21e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen#ifndef TRIDEL_H 22e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen#define TRIDEL_H 23e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 24e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen#include "MosaicTypes.h" 25e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 26e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chentypedef struct 27e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen{ 28e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen short first; 29e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen short second; 30e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen} SEdgeVector; 31e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 32e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chentypedef struct 33e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen{ 34e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen double x; 35e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen double y; 36e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen} SVec2d; 37e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 38e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chenclass CSite 39e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen{ 40e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chenprivate: 41e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen MosaicFrame *mosaicFrame; 42e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen SEdgeVector *neighbor; 43e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen int numNeighbors; 44e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen SVec2d voronoiCenter; 45e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 46e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chenpublic: 47e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen CSite(); 48e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen ~CSite(); 49e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 50e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline MosaicFrame* getMb() { return mosaicFrame; } 51e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline SEdgeVector* getNeighbor() { return neighbor; } 52e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline int getNumNeighbors() { return numNeighbors; } 53e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline SVec2d& getVCenter() { return voronoiCenter; } 54e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline double X() { return voronoiCenter.x; } 55e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline double Y() { return voronoiCenter.y; } 56e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 57e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline void incrNumNeighbors() { numNeighbors++; } 58e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline void setNumNeighbors(int num) { numNeighbors = num; } 59e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline void setNeighbor(SEdgeVector *nb) { neighbor = nb; } 60e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen inline void setMb(MosaicFrame *mb) { mosaicFrame = mb; } 61e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen}; 62e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen 63e295e32b68cf04f0d99138bf4a6d25555f3aef99Wei-Ta Chen#endif 64