1 // Copyright (c) 2012 Dennco Project
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 // Created by tkawata on Sep-30, 2012.
22 #include "TKReceptor.h"
27 class DCVCEditModeCursor;
30 class DCReceptor : public TKReceptor
32 friend struct DCComponentUtil;
33 DCReceptor(DCCell *theOwner);
34 void bindComponent(DCVComponent *component) { d_vComponent = component; }
36 DCVComponent *d_vComponent;
37 bool d_isTerminalVisible;
38 DCVCEditModeCursor *d_editCursor;
41 virtual ~DCReceptor();
43 DCAxonTerminal* getTarget() const;
44 DCCell* getOwnerCell() const;
45 DCVComponent* getVComponent() const;
46 void getViewReceptorOffsetPoint(float dx, float dy, float dz,float *x, float *y, float *z) const;
47 bool getIsTerminalVisible() const { return d_isTerminalVisible; }
48 bool hasEditCursor() const { return d_editCursor != 0; }
49 DCVCEditModeCursor* getEditCursor() const { return d_editCursor; }
51 void setTerminalVisible(bool visible) { d_isTerminalVisible = visible; }
52 void setEditingCursorViewMatrix(const float matrix[]);
54 void registerEditCursor(DCVCEditModeCursor *cursor);
55 void unregisterEditCursor();
59 #endif // DCRECEPTOR_H