Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/gameengine/Ketsji/KX_MouseFocusSensor.h')
-rw-r--r--source/gameengine/Ketsji/KX_MouseFocusSensor.h208
1 files changed, 0 insertions, 208 deletions
diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.h b/source/gameengine/Ketsji/KX_MouseFocusSensor.h
deleted file mode 100644
index 9437a0f3432..00000000000
--- a/source/gameengine/Ketsji/KX_MouseFocusSensor.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file KX_MouseFocusSensor.h
- * \ingroup ketsji
- * \brief KX_MouseFocusSensor determines mouse in/out/over events.
- */
-
-#ifndef __KX_MOUSEFOCUSSENSOR_H__
-#define __KX_MOUSEFOCUSSENSOR_H__
-
-#include "SCA_MouseSensor.h"
-
-#include "BLI_utildefines.h"
-
-class KX_RayCast;
-
-/**
- * The mouse focus sensor extends the basic SCA_MouseSensor. It has
- * been placed in KX because it needs access to the rasterizer and
- * SuMO.
- *
- * - extend the valid modes?
- * - */
-class KX_MouseFocusSensor : public SCA_MouseSensor
-{
-
- Py_Header
-
- public:
-
- KX_MouseFocusSensor(class SCA_MouseManager* eventmgr,
- int startx,
- int starty,
- short int mousemode,
- int focusmode,
- bool bTouchPulse,
- const STR_String& propname,
- bool bFindMaterial,
- bool bXRay,
- KX_Scene* kxscene,
- KX_KetsjiEngine* kxengine,
- SCA_IObject* gameobj);
-
- virtual ~KX_MouseFocusSensor() { }
- virtual CValue* GetReplica() {
- CValue* replica = new KX_MouseFocusSensor(*this);
- // this will copy properties and so on...
- replica->ProcessReplica();
- return replica;
- };
-
- virtual void Replace_IScene(SCA_IScene *val)
- {
- m_kxscene= static_cast<KX_Scene *>(val);
- };
-
-
- /**
- * \attention Overrides default evaluate.
- */
- virtual bool Evaluate();
- virtual void Init();
-
- virtual bool IsPositiveTrigger() {
- bool result = m_positive_event;
- if (m_invert) result = !result;
- return result;
- };
-
- /// \see KX_RayCast
- bool RayHit(KX_ClientObjectInfo *client, KX_RayCast *result, void *UNUSED(data));
- /// \see KX_RayCast
- bool NeedRayCast(KX_ClientObjectInfo *client, void *UNUSED(data));
-
- const MT_Point3& RaySource() const;
- const MT_Point3& RayTarget() const;
- const MT_Point3& HitPosition() const;
- const MT_Vector3& HitNormal() const;
- const MT_Vector2& HitUV() const;
-
-#ifdef WITH_PYTHON
-
- /* --------------------------------------------------------------------- */
- /* Python interface ---------------------------------------------------- */
- /* --------------------------------------------------------------------- */
-
- /* attributes */
- static PyObject* pyattr_get_ray_source(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_ray_target(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_ray_direction(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_hit_object(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_hit_position(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_hit_normal(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_hit_uv(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
-
-#endif /* WITH_PYTHON */
-
- /* --------------------------------------------------------------------- */
- SCA_IObject* m_hitObject;
- void* m_hitObject_Last; /* only use for comparison, never access */
-
- private:
- /**
- * The focus mode. 1 for handling focus, 0 for not handling, 2 for focus on any object
- */
- int m_focusmode;
-
- /**
- * Flags whether the previous test showed a mouse-over.
- */
- bool m_mouse_over_in_previous_frame;
-
- /**
- * Flags whether changes in hit object should trigger a pulse
- */
- bool m_bTouchPulse;
-
- /**
- * Flags get through other objects
- */
- bool m_bXRay;
-
- /**
- * Flags material
- */
- bool m_bFindMaterial;
-
- /**
- * Property or material name
- */
- STR_String m_propertyname;
-
- /**
- * Flags whether the previous test evaluated positive.
- */
- bool m_positive_event;
-
- /**
- * Tests whether the object is in mouse focus for this camera
- */
- bool ParentObjectHasFocusCamera(KX_Camera *cam);
-
- /**
- * Tests whether the object is in mouse focus in this scene.
- */
- bool ParentObjectHasFocus(void);
-
- /**
- * (in game world coordinates) the place where the object was hit.
- */
- MT_Point3 m_hitPosition;
-
- /**
- * (in game world coordinates) the position to which to shoot the ray.
- */
- MT_Point3 m_prevTargetPoint;
-
- /**
- * (in game world coordinates) the position from which to shoot the ray.
- */
- MT_Point3 m_prevSourcePoint;
-
- /**
- * (in game world coordinates) the face normal of the vertex where
- * the object was hit. */
- MT_Vector3 m_hitNormal;
-
- /**
- * UV texture coordinate of the hit point if any, (0,0) otherwise
- */
- MT_Vector2 m_hitUV;
-
- /**
- * The KX scene that holds the camera. The camera position
- * determines a part of the start location of the picking ray. */
- KX_Scene* m_kxscene;
-
- /**
- * The KX engine is needed for computing the viewport */
- KX_KetsjiEngine* m_kxengine;
-};
-
-#endif /* __KX_MOUSESENSOR */