⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ivp_object_attach.hxx

📁 hl2 source code. Do not use it illegal.
💻 HXX
字号:
// Copyright (C) Ipion Software GmbH 1999-2000. All rights reserved.

//IVP_EXPORT_PUBLIC

#ifndef WIN32
#	pragma interface
#endif

/********************************************************************************
 *	Name:	       	ivp_object_attach.hxx
 *	Description:	simple functions that allow to attach an object to another
 *			the merged entity will use the physical values of the 
 *			parent object (mass, rot_inertia, speed, rot_speed ....)
 ********************************************************************************/

class IVP_Object_Attach {

public:
    /********************************************************************************
    *	Name:	       	attach_object
    *	Parameter:	max_distance_attached_object_to_parent is used for the collision 
    *			detection engine and should be set to a reasonable value (not e.g. 1e6)
    *			the smaller this value is set, the faster the collision detection
    ********************************************************************************/
    static void attach_object( IVP_Real_Object *parent, IVP_Real_Object *attached_object, IVP_DOUBLE max_distance_attached_object_to_parents_mass_center = -1.0f );

    /********************************************************************************
    *	Name:	       	detach_object
    *	Description:	creates a new physical instance for a attached object
    *	Note:		maybe used to change the physical parameters for an object
    *			as it is allowed to even call this function when the object is not
    *			attached to a parent
    *	Parameter	tmpl:	the physical parameters for this object
    ********************************************************************************/
    static void detach_object( IVP_Real_Object *attached_object, IVP_Template_Real_Object *tmpl );
    
    /********************************************************************************
    *	Name:	       	reposition_object_Ros
    *	Parameter:	q_Ros_f_Aos is a quat that transforms from Attached object space
    *			into Reference object space == matrix defining the attached object in Ros space
    *	Parameter:      check_before_moving if set movement will be limited if there
    *			might be penetration problems
    ********************************************************************************/
    static IVP_RETURN_TYPE reposition_object_Ros( IVP_Real_Object *parent,  // optional parent, if NULL than Ros == ws
						IVP_Real_Object *attached_object,
						const IVP_U_Quat *q_Ros_f_Aos,
						const IVP_U_Point *shift_Ros_f_Aos,
						IVP_BOOL check_before_moving);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -