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

📄 ivp_hull_manager.cxx

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

#ifndef WIN32
#	pragma implementation "ivp_hull_manager_macros.hxx"
#	pragma implementation "ivp_listener_hull.hxx"
#	pragma implementation "ivp_hull_manager.hxx"
#endif

#include <ivp_physics.hxx>

#include <ivu_min_hash.hxx>
#include <ivp_hull_manager.hxx>
#include "ivp_hull_manager_macros.hxx"

// IVP_EXPORT_PRIVATE

IVP_Hull_Manager_Base::IVP_Hull_Manager_Base(): sorted_synapses(8){
    gradient = center_gradient = 0.0f;
    hull_value_last_vpsi = 0.0f;
    hull_center_value_last_vpsi = 0.0f;
    hull_value_next_psi = 0.0f;
    time_of_next_reset = 0;
}

IVP_Hull_Manager_Base::~IVP_Hull_Manager_Base(){
    IVP_ASSERT( ! sorted_synapses.has_elements() );
}

void IVP_Hull_Manager::delete_hull_manager(){
    while ( sorted_synapses.has_elements() ){
	IVP_Listener_Hull *syn = (IVP_Listener_Hull *)sorted_synapses.find_min_elem();
	syn->hull_manager_is_going_to_be_deleted_event((IVP_Hull_Manager *)this);
    }
}

void   IVP_Listener_Hull::hull_manager_is_reset(IVP_FLOAT /*dt*/, IVP_FLOAT /*center_dt*/){
    ;
}

void IVP_Hull_Manager::reset_times(){
    IVP_FLOAT mt = - hull_value_last_vpsi;
    IVP_FLOAT mc = - hull_center_value_last_vpsi;
    IVP_U_Min_List_Enumerator mle(&sorted_synapses);
    
    while ( IVP_U_Min_List_Element *el = mle.get_next_element_header()){
	IVP_Listener_Hull *lh = (IVP_Listener_Hull *)el->element;
	el->value += mt;
	lh->hull_manager_is_reset(mt,mc);
	
    }
    sorted_synapses.min_value += mt;
    hull_value_last_vpsi = 0.0f;
    hull_center_value_last_vpsi = 0.0f;
    hull_value_next_psi += mt;
}

void IVP_Hull_Manager::reset_time(IVP_Time offset){
    last_vpsi_time -= offset;
}

⌨️ 快捷键说明

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