Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Institute of Technical Acoustics (ITA)
VACore
Commits
df0e324e
Commit
df0e324e
authored
Mar 05, 2020
by
Pascal Palenda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adapt to ITASimulationScheduler changes
parent
e306115e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
193 additions
and
180 deletions
+193
-180
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.cpp
...g/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.cpp
+71
-71
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.h
...ing/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.h
+8
-8
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsClusterScheduler.h
.../Binaural/RoomAcoustics/VARoomAcousticsClusterScheduler.h
+1
-1
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsHybridScheduler.cpp
...Binaural/RoomAcoustics/VARoomAcousticsHybridScheduler.cpp
+44
-44
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsHybridScheduler.h
...g/Binaural/RoomAcoustics/VARoomAcousticsHybridScheduler.h
+22
-15
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsLocalScheduler.cpp
.../Binaural/RoomAcoustics/VARoomAcousticsLocalScheduler.cpp
+7
-7
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsLocalScheduler.h
...ng/Binaural/RoomAcoustics/VARoomAcousticsLocalScheduler.h
+3
-3
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsRemoteScheduler.cpp
...Binaural/RoomAcoustics/VARoomAcousticsRemoteScheduler.cpp
+18
-18
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsRemoteScheduler.h
...g/Binaural/RoomAcoustics/VARoomAcousticsRemoteScheduler.h
+15
-9
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsScheduler.h
...ndering/Binaural/RoomAcoustics/VARoomAcousticsScheduler.h
+4
-4
No files found.
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.cpp
View file @
df0e324e
...
...
@@ -1102,7 +1102,7 @@ void ComplexSoundPath::ExportRIR( const std::string& sFileName, const bool bDS/*
// --= Klasse CVARoomAcousticsResult =--
class
CVARoomAcousticsResult
:
public
CRaven
SimulationResult
class
CVARoomAcousticsResult
:
public
ITASimulationScheduler
::
C
SimulationResult
{
public:
CVARoomAcousticsResult
()
:
pPath
(
nullptr
)
{};
...
...
@@ -1182,23 +1182,23 @@ CVARoomAcousticsAudioRenderer::CVARoomAcousticsAudioRenderer( const CVAAudioRend
if
(
m_iSetup
==
SETUP_LOCAL
)
{
CRaven
LocalScheduler
::
CConfiguration
oConf
;
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
oConf
;
oConf
.
sRavenDataBasePath
=
sRavenDataBasePath
;
std
::
string
sTaskProcessing
;
conf
.
OptString
(
"TaskProcessing"
,
sTaskProcessing
,
"Timeout"
);
int
iTaskProcessingMode
=
-
1
;
if
(
toUppercase
(
sTaskProcessing
)
==
"TIMEOUT"
)
iTaskProcessingMode
=
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
TIMEOUT
;
iTaskProcessingMode
=
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
TIMEOUT
;
else
if
(
toUppercase
(
sTaskProcessing
)
==
"EVENTSYNC"
)
iTaskProcessingMode
=
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
EVENTSYNC
;
iTaskProcessingMode
=
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
EVENTSYNC
;
else
if
(
toUppercase
(
sTaskProcessing
)
==
"CONTINUOUS"
)
iTaskProcessingMode
=
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
CONTINUOUS
;
iTaskProcessingMode
=
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
CONTINUOUS
;
else
ITA_EXCEPT1
(
INVALID_PARAMETER
,
"Unrecognized task processing mode"
);
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
oThreadConf
;
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
oThreadConf
;
oThreadConf
.
iPriority
=
0
;
oThreadConf
.
iTaskProcessingMode
=
iTaskProcessingMode
;
oThreadConf
.
sRavenDataBasePath
=
sRavenDataBasePath
;
...
...
@@ -1206,17 +1206,17 @@ CVARoomAcousticsAudioRenderer::CVARoomAcousticsAudioRenderer( const CVAAudioRend
double
dTemp
;
conf
.
OptNumber
(
"UpdateRateDS"
,
dTemp
,
123.0
f
);
oThreadConf
.
fUpdateRate
=
float
(
dTemp
);
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_DS
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
conf
.
OptNumber
(
"UpdateRateER"
,
dTemp
,
42.5
f
);
oThreadConf
.
fUpdateRate
=
float
(
dTemp
);
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_ER_IS
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
conf
.
OptNumber
(
"UpdateRateDD"
,
dTemp
,
1.5
f
);
oThreadConf
.
fUpdateRate
=
float
(
dTemp
);
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_DD_RT
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
//pCore->SetProgress( "Setting up Room Acoustics Audio Renderer", "Creating RAVEN local scheduler", 6 );
...
...
@@ -1247,7 +1247,7 @@ CVARoomAcousticsAudioRenderer::CVARoomAcousticsAudioRenderer( const CVAAudioRend
for
(
int
i
=
0
;
i
<
(
int
)
vsLocalFOD
.
size
();
i
++
)
{
const
std
::
string
&
s
(
vsLocalFOD
[
i
]
);
int
iSimType
=
ParseSimulationType
(
s
);
int
iSimType
=
ITASimulationScheduler
::
ParseSimulationType
(
s
);
if
(
iSimType
==
-
1
)
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Could not parse simulation type '"
+
s
+
"'"
);
viLocalFoD
.
push_back
(
iSimType
);
...
...
@@ -1263,7 +1263,7 @@ CVARoomAcousticsAudioRenderer::CVARoomAcousticsAudioRenderer( const CVAAudioRend
for
(
int
i
=
0
;
i
<
(
int
)
vsRemoteFOD
.
size
();
i
++
)
{
const
std
::
string
&
s
(
vsRemoteFOD
[
i
]
);
int
iSimType
=
ParseSimulationType
(
s
);
int
iSimType
=
ITASimulationScheduler
::
ParseSimulationType
(
s
);
if
(
iSimType
>
0
)
viRemoteFoD
.
push_back
(
iSimType
);
}
...
...
@@ -1618,8 +1618,8 @@ void CVARoomAcousticsAudioRenderer::ProcessStream( const ITAStreamInfo* pStreamI
double
fBudget
=
m_pCore
->
GetCoreConfig
()
->
oAudioDriverConfig
.
iBuffersize
/
m_pCore
->
GetCoreConfig
()
->
oAudioDriverConfig
.
dSampleRate
;
// States erstellen
CRaven
ReceiverState
oGenericReceiverState
;
CRaven
SourceState
oGenericSourceState
;
ITASimulationScheduler
::
RAVEN
::
C
ReceiverState
oGenericReceiverState
;
ITASimulationScheduler
::
RAVEN
::
C
SourceState
oGenericSourceState
;
for
(
std
::
list
<
ComplexSoundPath
*
>::
iterator
it
=
ctxAudio
.
m_lComplexSoundPathsInternal
.
begin
();
it
!=
ctxAudio
.
m_lComplexSoundPathsInternal
.
end
();
++
it
)
{
...
...
@@ -1676,81 +1676,81 @@ void CVARoomAcousticsAudioRenderer::ProcessStream( const ITAStreamInfo* pStreamI
// Raven config
int
iComp
=
0
;
iComp
=
pTaskDS
->
oConfig
.
Compare
(
m_oRavenConfig
);
if
(
iComp
&
CRaven
Config
::
GEO_SCENE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
GEO_SCENE
)
pTaskDS
->
oConfig
.
oGeometry
.
sSceneFileName
=
m_oRavenConfig
.
oGeometry
.
sSceneFileName
;
/*
if( iComp & C
Raven
Config::ROOM_HUMIDITY )
if( iComp & CConfig::ROOM_HUMIDITY )
pTaskDS->oConfig.oRoom.fHumidity = m_oConfig.oRoom.fHumidity;
if( iComp & C
Raven
Config::ROOM_STATPRESSURE )
if( iComp & CConfig::ROOM_STATPRESSURE )
pTaskDS->oConfig.oRoom.fStaticPressure = m_oConfig.oRoom.fStaticPressure;
if( iComp & C
Raven
Config::ROOM_TEMPERATUR )
if( iComp & CConfig::ROOM_TEMPERATUR )
pTaskDS->oConfig.oRoom.fTemperature = m_oConfig.oRoom.fTemperature;
if( iComp & C
Raven
Config::SIMSETS_SAMPLERATE )
if( iComp & CConfig::SIMSETS_SAMPLERATE )
pTaskDS->oConfig.oSimulationSettings.dSampleRate = m_oConfig.oSimulationSettings.dSampleRate;
*/
if
(
iComp
&
CRaven
Config
::
SIMSETS_ACCELETYPE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
SIMSETS_ACCELETYPE
)
pTaskDS
->
oConfig
.
oSimulationSettings
.
iAccelerationType
=
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
;
/*
if( iComp & C
Raven
Config::FILTENG_MAGRES)
if( iComp & CConfig::FILTENG_MAGRES)
pTaskDS->oConfig.oFilterEngine.iMagnitudesResolution = m_oConfig.oFilterEngine.iMagnitudesResolution;
*/
iComp
=
pTaskIS
->
oConfig
.
Compare
(
m_oRavenConfig
);
if
(
iComp
&
CRaven
Config
::
GEO_SCENE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
GEO_SCENE
)
pTaskIS
->
oConfig
.
oGeometry
.
sSceneFileName
=
m_oRavenConfig
.
oGeometry
.
sSceneFileName
;
if
(
iComp
&
CRaven
Config
::
ROOM_HUMIDITY
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_HUMIDITY
)
pTaskIS
->
oConfig
.
oRoom
.
fHumidity
=
m_oRavenConfig
.
oRoom
.
fHumidity
;
if
(
iComp
&
CRaven
Config
::
ROOM_STATPRESSURE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_STATPRESSURE
)
pTaskIS
->
oConfig
.
oRoom
.
fStaticPressure
=
m_oRavenConfig
.
oRoom
.
fStaticPressure
;
if
(
iComp
&
CRaven
Config
::
ROOM_TEMPERATUR
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_TEMPERATUR
)
pTaskIS
->
oConfig
.
oRoom
.
fTemperature
=
m_oRavenConfig
.
oRoom
.
fTemperature
;
if
(
iComp
&
CRaven
Config
::
SIMSETS_SAMPLERATE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
SIMSETS_SAMPLERATE
)
pTaskIS
->
oConfig
.
oSimulationSettings
.
dSampleRate
=
m_oRavenConfig
.
oSimulationSettings
.
dSampleRate
;
if
(
iComp
&
CRaven
Config
::
SIMSETS_ACCELETYPE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
SIMSETS_ACCELETYPE
)
pTaskIS
->
oConfig
.
oSimulationSettings
.
iAccelerationType
=
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
;
if
(
iComp
&
CRaven
Config
::
FILTENG_MAGRES
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
FILTENG_MAGRES
)
pTaskIS
->
oConfig
.
oFilterEngine
.
iMagnitudesResolution
=
m_oRavenConfig
.
oFilterEngine
.
iMagnitudesResolution
;
if
(
iComp
&
CRaven
Config
::
IS_ORDER_PS
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
IS_ORDER_PS
)
pTaskIS
->
oConfig
.
oImageSource
.
iOrderPrimarySource
=
m_oRavenConfig
.
oImageSource
.
iOrderPrimarySource
;
if
(
iComp
&
CRaven
Config
::
IS_ORDER_SS
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
IS_ORDER_SS
)
pTaskIS
->
oConfig
.
oImageSource
.
iOrderSecondarySource
=
m_oRavenConfig
.
oImageSource
.
iOrderSecondarySource
;
iComp
=
pTaskRT
->
oConfig
.
Compare
(
m_oRavenConfig
);
if
(
iComp
&
CRaven
Config
::
GEO_SCENE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
GEO_SCENE
)
pTaskRT
->
oConfig
.
oGeometry
.
sSceneFileName
=
m_oRavenConfig
.
oGeometry
.
sSceneFileName
;
if
(
iComp
&
CRaven
Config
::
ROOM_HUMIDITY
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_HUMIDITY
)
pTaskRT
->
oConfig
.
oRoom
.
fHumidity
=
m_oRavenConfig
.
oRoom
.
fHumidity
;
if
(
iComp
&
CRaven
Config
::
ROOM_STATPRESSURE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_STATPRESSURE
)
pTaskRT
->
oConfig
.
oRoom
.
fStaticPressure
=
m_oRavenConfig
.
oRoom
.
fStaticPressure
;
if
(
iComp
&
CRaven
Config
::
ROOM_TEMPERATUR
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
ROOM_TEMPERATUR
)
pTaskRT
->
oConfig
.
oRoom
.
fTemperature
=
m_oRavenConfig
.
oRoom
.
fTemperature
;
if
(
iComp
&
CRaven
Config
::
SIMSETS_SAMPLERATE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
SIMSETS_SAMPLERATE
)
pTaskRT
->
oConfig
.
oSimulationSettings
.
dSampleRate
=
m_oRavenConfig
.
oSimulationSettings
.
dSampleRate
;
if
(
iComp
&
CRaven
Config
::
SIMSETS_ACCELETYPE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
SIMSETS_ACCELETYPE
)
pTaskRT
->
oConfig
.
oSimulationSettings
.
iAccelerationType
=
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
;
if
(
iComp
&
CRaven
Config
::
FILTENG_MAGRES
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
FILTENG_MAGRES
)
pTaskRT
->
oConfig
.
oFilterEngine
.
iMagnitudesResolution
=
m_oRavenConfig
.
oFilterEngine
.
iMagnitudesResolution
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_ELTHRESH
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_ELTHRESH
)
pTaskRT
->
oConfig
.
oRayTracer
.
oPortalDetector
.
fEnergyLossThreshold
=
m_oRavenConfig
.
oRayTracer
.
oPortalDetector
.
fEnergyLossThreshold
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_FILTERLENGTH
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_FILTERLENGTH
)
pTaskRT
->
oConfig
.
oRayTracer
.
oPortalDetector
.
fFilterLength
=
m_oRavenConfig
.
oRayTracer
.
oPortalDetector
.
fFilterLength
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_NUMPARTICLES
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_NUMPARTICLES
)
pTaskRT
->
oConfig
.
oRayTracer
.
oPortalDetector
.
uliNumParticles
=
m_oRavenConfig
.
oRayTracer
.
oPortalDetector
.
uliNumParticles
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_RESTIMESLOTS
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_RESTIMESLOTS
)
pTaskRT
->
oConfig
.
oRayTracer
.
oPortalDetector
.
fResolutionTimeSlots
=
m_oRavenConfig
.
oRayTracer
.
oPortalDetector
.
fResolutionTimeSlots
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_ELTHRESH
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_ELTHRESH
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fEnergyLossThreshold
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fEnergyLossThreshold
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_FILTERLENGTH
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_FILTERLENGTH
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fFilterLength
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fFilterLength
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_NUMPARTICLES
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_NUMPARTICLES
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
uliNumParticles
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
uliNumParticles
;
if
(
iComp
&
CRaven
Config
::
RT_PORTDETECT_RESTIMESLOTS
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_PORTDETECT_RESTIMESLOTS
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionTimeSlots
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionTimeSlots
;
if
(
iComp
&
CRaven
Config
::
RT_SPHEREDETECT_RADIUS
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_SPHEREDETECT_RADIUS
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fRadius
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fRadius
;
if
(
iComp
&
CRaven
Config
::
RT_SPHEREDETECT_RESAZI
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_SPHEREDETECT_RESAZI
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionAzimuth
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionAzimuth
;
if
(
iComp
&
CRaven
Config
::
RT_SPHEREDETECT_RESELE
)
if
(
iComp
&
ITASimulationScheduler
::
RAVEN
::
C
Config
::
RT_SPHEREDETECT_RESELE
)
pTaskRT
->
oConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionElevation
=
m_oRavenConfig
.
oRayTracer
.
oSphereDetector
.
fResolutionElevation
;
// Scene
...
...
@@ -1768,12 +1768,12 @@ void CVARoomAcousticsAudioRenderer::ProcessStream( const ITAStreamInfo* pStreamI
pTaskIS
->
oScene
.
SetSourceState
(
0
,
oGenericSourceState
);
pTaskRT
->
oScene
.
SetSourceState
(
0
,
oGenericSourceState
);
if
(
pTaskDS
->
iSimulationType
!=
CRaven
SimulationTask
::
SIM_DS
)
pTaskDS
->
iSimulationType
=
CRaven
SimulationTask
::
SIM_DS
;
if
(
pTaskIS
->
iSimulationType
!=
CRaven
SimulationTask
::
SIM_ER_IS
)
pTaskIS
->
iSimulationType
=
CRaven
SimulationTask
::
SIM_ER_IS
;
if
(
pTaskRT
->
iSimulationType
!=
CRaven
SimulationTask
::
SIM_DD_RT
)
pTaskRT
->
iSimulationType
=
CRaven
SimulationTask
::
SIM_DD_RT
;
if
(
pTaskDS
->
iSimulationType
!=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
)
pTaskDS
->
iSimulationType
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
;
if
(
pTaskIS
->
iSimulationType
!=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
)
pTaskIS
->
iSimulationType
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
;
if
(
pTaskRT
->
iSimulationType
!=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
)
pTaskRT
->
iSimulationType
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
;
pPath
->
oProfiler
.
dLastTaskAssign
=
pPath
->
oProfiler
.
swTaskAssign
.
stop
();
...
...
@@ -2124,15 +2124,15 @@ void CVARoomAcousticsAudioRenderer::LoadScene( const std::string& sFileName )
m_oRavenConfig
.
oGeometry
.
sSceneFileName
=
sFileName
;
}
int
CVARoomAcousticsAudioRenderer
::
PreTaskStart
(
IRaven
SimulationSchedulerInterface
*
,
CRaven
SimulationTask
*
)
int
CVARoomAcousticsAudioRenderer
::
PreTaskStart
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
,
ITASimulationScheduler
::
C
SimulationTask
*
)
{
return
C
Raven
SimulationSchedulerTaskHandler
::
COMPUTE_TASK
;
return
CSimulationSchedulerTaskHandler
::
COMPUTE_TASK
;
}
int
CVARoomAcousticsAudioRenderer
::
PostTaskFinished
(
IRaven
SimulationSchedulerInterface
*
pScheduler
,
const
CRavenSimulationTask
*
pTask
,
CRaven
SimulationResult
*
pSimulationResult
)
int
CVARoomAcousticsAudioRenderer
::
PostTaskFinished
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
pScheduler
,
const
ITASimulationScheduler
::
CSimulationTask
*
pTask
,
ITASimulationScheduler
::
C
SimulationResult
*
pSimulationResult
)
{
assert
(
pSimulationResult
->
vcspResult
.
size
()
==
1
);
// Exactly one result expected
CRaven
SimulationResult
::
ComplexSimulationSoundPath
*
pResultSimulationPath
=
pSimulationResult
->
vcspResult
[
0
];
ITASimulationScheduler
::
C
SimulationResult
::
ComplexSimulationSoundPath
*
pResultSimulationPath
=
pSimulationResult
->
vcspResult
[
0
];
const
ITASampleFrame
*
psfResult
=
pResultSimulationPath
->
psfResult
;
int
iLeadingZeros
=
pResultSimulationPath
->
iLeadingZeros
;
bool
bDirectSoundAudible
=
pResultSimulationPath
->
bDirectSoundAudible
;
...
...
@@ -2149,7 +2149,7 @@ int CVARoomAcousticsAudioRenderer::PostTaskFinished( IRavenSimulationSchedulerIn
pCurrentPath
->
oProfiler
.
uiFinishedTasks
++
;
m_swUpdateFilter
.
start
();
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_DS
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
)
{
pCurrentPath
->
UpdateDirectSound
(
bDirectSoundAudible
);
...
...
@@ -2159,10 +2159,10 @@ int CVARoomAcousticsAudioRenderer::PostTaskFinished( IRavenSimulationSchedulerIn
pCurrentPath
->
bEntitiesInSameRoom
=
bEntitiesInSameRoom
;
}
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_ER_IS
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
)
pCurrentPath
->
UpdateEarlyReflections
(
iLeadingZeros
,
psfResult
);
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_DD_RT
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
)
pCurrentPath
->
UpdateDiffuseDecay
(
iLeadingZeros
,
psfResult
);
// Gesamte RIR erzeugen und in den Falter geben
...
...
@@ -2205,11 +2205,11 @@ int CVARoomAcousticsAudioRenderer::PostTaskFinished( IRavenSimulationSchedulerIn
bDeleteResult
=
false
;
}
int
iRet
=
C
Raven
SimulationSchedulerTaskHandler
::
DELETE_TASK
;
int
iRet
=
CSimulationSchedulerTaskHandler
::
DELETE_TASK
;
if
(
bRemoveReference
)
{
static_cast
<
const
CVARoomAcousticsSimulationTask
*
>
(
pTask
)
->
RemoveReference
();
iRet
=
C
Raven
SimulationSchedulerTaskHandler
::
PRESERVE_TASK
;
iRet
=
CSimulationSchedulerTaskHandler
::
PRESERVE_TASK
;
}
// Bei Netzwerkbertragung muss das Resultat gelscht werden (da eine Kopie zurck kommt)
...
...
@@ -2218,7 +2218,7 @@ int CVARoomAcousticsAudioRenderer::PostTaskFinished( IRavenSimulationSchedulerIn
return
iRet
;
}
int
CVARoomAcousticsAudioRenderer
::
PostTaskDiscarded
(
IRaven
SimulationSchedulerInterface
*
pScheduler
,
const
CRaven
SimulationTask
*
pTask
)
int
CVARoomAcousticsAudioRenderer
::
PostTaskDiscarded
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
pScheduler
,
const
ITASimulationScheduler
::
C
SimulationTask
*
pTask
)
{
// Check if path still existent in current sound pathes
for
(
std
::
list
<
ComplexSoundPath
*
>::
iterator
it
=
m_lComplexSoundPaths
.
begin
();
...
...
@@ -2236,11 +2236,11 @@ int CVARoomAcousticsAudioRenderer::PostTaskDiscarded( IRavenSimulationSchedulerI
if
(
pPoolTask
!=
nullptr
)
{
pPoolTask
->
RemoveReference
();
return
C
Raven
SimulationSchedulerTaskHandler
::
PRESERVE_TASK
;
return
CSimulationSchedulerTaskHandler
::
PRESERVE_TASK
;
}
else
{
return
C
Raven
SimulationSchedulerTaskHandler
::
DELETE_TASK
;
return
CSimulationSchedulerTaskHandler
::
DELETE_TASK
;
}
}
...
...
@@ -2649,9 +2649,9 @@ void CVARoomAcousticsAudioRenderer::CallObjectConfigSet( const std::string& sKey
std
::
string
sRawValue
=
std
::
string
(
*
pValue
);
int
iType
=
-
1
;
if
(
toUppercase
(
sRawValue
)
==
"BSP"
)
iType
=
CRaven
Config
::
BSP
;
iType
=
ITASimulationScheduler
::
RAVEN
::
C
Config
::
BSP
;
if
(
toUppercase
(
sRawValue
)
==
"HASH"
)
iType
=
CRaven
Config
::
HASHMAP
;
iType
=
ITASimulationScheduler
::
RAVEN
::
C
Config
::
HASHMAP
;
if
(
iType
==
-
1
)
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Invalid value '"
+
sRawValue
+
"' for acceleration type, use 'BSP' or 'HASH'"
);
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
=
iType
;
...
...
@@ -2665,8 +2665,8 @@ void CVARoomAcousticsAudioRenderer::CallObjectConfigSet( const std::string& sKey
// Blo keinen Quatsch zulassen
int
iVal
=
-
1
;
std
::
string
sRawValue
=
std
::
string
(
*
pValue
);
if
(
toUppercase
(
sRawValue
)
==
"OCTAVE"
)
iVal
=
CRaven
Config
::
WHOLE_OCTAVE_SPECTRUM
;
if
(
toUppercase
(
sRawValue
)
==
"THIRDS"
)
iVal
=
CRaven
Config
::
THIRD_OCTAVE_SPECTRUM
;
if
(
toUppercase
(
sRawValue
)
==
"OCTAVE"
)
iVal
=
ITASimulationScheduler
::
RAVEN
::
C
Config
::
WHOLE_OCTAVE_SPECTRUM
;
if
(
toUppercase
(
sRawValue
)
==
"THIRDS"
)
iVal
=
ITASimulationScheduler
::
RAVEN
::
C
Config
::
THIRD_OCTAVE_SPECTRUM
;
if
(
iVal
==
-
1
)
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Invalid value '"
+
sRawValue
+
"' for magnitudes resolution, use 'OCTAVE' or 'THIRD'"
);
m_oRavenConfig
.
oFilterEngine
.
iMagnitudesResolution
=
iVal
;
return
;
...
...
@@ -2725,14 +2725,14 @@ CVAStruct CVARoomAcousticsAudioRenderer::CallObjectConfigGet( const std::string&
if
(
sKey
==
"SimulationSettings:AccelerationType"
)
{
std
::
string
sType
=
"BSP"
;
if
(
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
==
CRaven
Config
::
HASHMAP
)
sType
=
"HASH"
;
if
(
m_oRavenConfig
.
oSimulationSettings
.
iAccelerationType
==
ITASimulationScheduler
::
RAVEN
::
C
Config
::
HASHMAP
)
sType
=
"HASH"
;
oRet
[
sStaticReturnKey
]
=
sType
;
}
if
(
sKey
==
"FilterEngine:MagnitudesResolution"
)
{
std
::
string
sType
=
"OCTAVE"
;
if
(
m_oRavenConfig
.
oFilterEngine
.
iMagnitudesResolution
==
CRaven
Config
::
THIRD_OCTAVE_SPECTRUM
)
if
(
m_oRavenConfig
.
oFilterEngine
.
iMagnitudesResolution
==
ITASimulationScheduler
::
RAVEN
::
C
Config
::
THIRD_OCTAVE_SPECTRUM
)
sType
=
"THIRDS"
;
oRet
[
sStaticReturnKey
]
=
sType
;
}
...
...
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsAudioRenderer.h
View file @
df0e324e
...
...
@@ -38,8 +38,8 @@
#include <string.h>
// Raven includes
#include <ITASimulationScheduler/
Raven/R_Raven
LocalScheduler.h>
#include <ITASimulationScheduler/
Raven/R_Raven
Utils.h>
#include <ITASimulationScheduler/LocalScheduler.h>
#include <ITASimulationScheduler/Utils.h>
// 3rdParty includes
#include <tbb/concurrent_queue.h>
...
...
@@ -83,7 +83,7 @@ class Source;
* - Ray Tracing u.A. mit Richtcharakteristik, Laufzeit, Mediumsdmpfung, Wandreflexionen, HRIR
*
*/
class
CVARoomAcousticsAudioRenderer
:
public
CRaven
SimulationSchedulerTaskHandler
,
public
IVAAudioRenderer
,
public
ITADatasourceRealization
,
public
CVAObject
class
CVARoomAcousticsAudioRenderer
:
public
ITASimulationScheduler
::
C
SimulationSchedulerTaskHandler
,
public
IVAAudioRenderer
,
public
ITADatasourceRealization
,
public
CVAObject
{
public:
...
...
@@ -134,7 +134,7 @@ public:
//! Returns the renderers output stream datasource
ITADatasource
*
GetOutputDatasource
();
int
PreTaskStart
(
IRaven
SimulationSchedulerInterface
*
,
CRaven
SimulationTask
*
);
int
PreTaskStart
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
,
ITASimulationScheduler
::
C
SimulationTask
*
);
//! Ein Simulationsergebnis ist da und muss verarbeitet werden
/**
...
...
@@ -145,14 +145,14 @@ public:
* Hierzu wird berprft, zu welchem Simulationsanteil das Resultat gehrt (DS, IS, RT) und
* dann wird die gesamte RIR neu erzeugt und in die Faltungsmaschine bergeben.
*/
int
PostTaskFinished
(
IRaven
SimulationSchedulerInterface
*
,
const
CRavenSimulationTask
*
,
CRaven
SimulationResult
*
);
int
PostTaskFinished
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
,
const
ITASimulationScheduler
::
CSimulationTask
*
,
ITASimulationScheduler
::
C
SimulationResult
*
);
//! Ein Task wurde verworfen
/**
* \note Nicht reentrant!
*
*/
int
PostTaskDiscarded
(
IRaven
SimulationSchedulerInterface
*
,
const
CRaven
SimulationTask
*
);
int
PostTaskDiscarded
(
ITASimulationScheduler
::
I
SimulationSchedulerInterface
*
,
const
ITASimulationScheduler
::
C
SimulationTask
*
);
//!
CVAObjectInfo
GetObjectInfo
()
const
;
...
...
@@ -177,7 +177,7 @@ public:
protected:
CRaven
Config
m_oRavenConfig
;
//!< Current configuration of Renderer
ITASimulationScheduler
::
RAVEN
::
C
Config
m_oRavenConfig
;
//!< Current configuration of Renderer
private:
...
...
@@ -185,7 +185,7 @@ private:
CVACoreImpl
*
m_pCore
;
//!< Pointer to the core
I
Raven
SimulationSchedulerInterface
*
m_pVARaven
;
//!< Scheduler fr Simulationsauftrge (Raven)
I
TASimulationScheduler
::
I
SimulationSchedulerInterface
*
m_pVARaven
;
//!< Scheduler fr Simulationsauftrge (Raven)
int
m_iSetup
;
//!< Scheduler setup (Local, Remote, Hybrid) see \SetupModes
...
...
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsClusterScheduler.h
View file @
df0e324e
...
...
@@ -19,7 +19,7 @@
#include "VARoomAcousticsScheduler.h"
//! Cluster-Implementierung
class
CVAClusterRaven
:
public
I
Raven
SimulationSchedulerInterface
{
class
CVAClusterRaven
:
public
I
TASimulationScheduler
::
I
SimulationSchedulerInterface
{
public:
CVAClusterRaven
(
IVARoomAcousticsSimulationTaskCreator
*
);
~
CVAClusterRaven
();
...
...
src/Rendering/Binaural/RoomAcoustics/VARoomAcousticsHybridScheduler.cpp
View file @
df0e324e
...
...
@@ -40,33 +40,33 @@ CVARavenHybridScheduler::CVARavenHybridScheduler( CVACoreImpl* pCore, const std:
{
pCore
->
RegisterModule
(
this
);
CRaven
LocalScheduler
::
CConfiguration
oConf
;
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
oConf
;
oConf
.
sRavenDataBasePath
=
sRavenDataBasePath
;
// TODO: auslassen, was die Configuration hergiebt
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
oThreadConf
;
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
oThreadConf
;
oThreadConf
.
iPriority
=
0
;
oThreadConf
.
iTaskProcessingMode
=
CRaven
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
TIMEOUT
;
oThreadConf
.
iTaskProcessingMode
=
ITASimulationScheduler
::
C
LocalScheduler
::
CConfiguration
::
CThreadConfiguration
::
TIMEOUT
;
oThreadConf
.
sRavenDataBasePath
=
sRavenDataBasePath
;
oThreadConf
.
fUpdateRate
=
200.0
f
;
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_DS
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
oThreadConf
.
fUpdateRate
=
20.0
f
;
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_ER_IS
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
oThreadConf
.
fUpdateRate
=
1.0
f
;
oThreadConf
.
iFieldOfDuty
=
CRaven
SimulationTask
::
SIM_DD_RT
;
oThreadConf
.
iFieldOfDuty
=
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
;
oConf
.
voThreads
.
push_back
(
oThreadConf
);
m_pLocalScheduler
=
new
CRaven
LocalScheduler
(
oConf
);
m_pLocalScheduler
=
new
ITASimulationScheduler
::
C
LocalScheduler
(
oConf
);
m_pRavenNetClient
=
IRavenNetClient
::
Create
();
m_pRavenNetClient
=
ITASimulationScheduler
::
RAVEN
::
IRavenNetClient
::
Create
();
int
e
;
if
(
(
e
=
m_pRavenNetClient
->
Initialize
(
sServerIP
)
)
!=
IRavenNetClient
::
RAVEN_NO_ERROR
)
if
(
(
e
=
m_pRavenNetClient
->
Initialize
(
sServerIP
)
)
!=
ITASimulationScheduler
::
RAVEN
::
IRavenNetClient
::
RAVEN_NO_ERROR
)
{
VA_WARN
(
"RavenHybridScheduler"
,
"Connection to remote simulation server '"
<<
sServerIP
<<
"' failed with error code "
<<
e
);
}
...
...
@@ -77,7 +77,7 @@ CVARavenHybridScheduler::CVARavenHybridScheduler( CVACoreImpl* pCore, const std:
int
iAttempts
=
0
;
while
(
!
m_pRavenNetClient
->
IsConnected
()
&&
iAttempts
++
<
8
)
VASleep
(
250
);
m_pRavenNetClient
->
SetExceptionHandlingMode
(
IRavenNetClient
::
EXC_CLIENT_THROW
);
m_pRavenNetClient
->
SetExceptionHandlingMode
(
ITASimulationScheduler
::
RAVEN
::
IRavenNetClient
::
EXC_CLIENT_THROW
);
if
(
m_pRavenNetClient
->
HasRavenSimulationScheduler
()
)
m_pRemoteScheduler
=
m_pRavenNetClient
->
GetRavenSimulationScheduler
();
...
...
@@ -110,7 +110,7 @@ CVAObjectInfo CVARavenHybridScheduler::GetObjectInfo() const {
return
oCoreModuleInfo
;
}
void
CVARavenHybridScheduler
::
AddTask
(
CRaven
SimulationTask
*
pTask
)
void
CVARavenHybridScheduler
::
AddTask
(
ITASimulationScheduler
::
C
SimulationTask
*
pTask
)
{
m_qpNewTasks
.
push
(
static_cast
<
CVARoomAcousticsSimulationTask
*
>
(
pTask
)
);
//pTask->oProfiler.dSchedulerEnqueTime = m_pCore->GetCoreClock();
...
...
@@ -164,7 +164,7 @@ bool CVARavenHybridScheduler::LoopBody()
//pNewTask->oProfiler.dSchedulerHandleTime = m_pCore->GetCoreClock();
// Nur Direktschall
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_DS
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
)
{
// Alle vorherigen Simulationsauftrge des gleichen Pfades und Simulationstyps lschen
FilterAndReplaceTasks
(
m_lDSTasks
,
pTask
);
...
...
@@ -172,21 +172,21 @@ bool CVARavenHybridScheduler::LoopBody()
}
// Nur Spiegelschallquellen ohne Direktschall
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_ER_IS
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
)
{
FilterAndReplaceTasks
(
m_lISTasks
,
pTask
);
continue
;
}
// Nur diffusen Nachhall (RT)
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_DD_RT
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_RT
)
{
FilterAndReplaceTasks
(
m_lRTTasks
,
pTask
);
continue
;
}
// Nur diffusen Nachhall (AR)
if
(
pTask
->
iSimulationType
==
CRaven
SimulationTask
::
SIM_DD_AR
)
if
(
pTask
->
iSimulationType
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DD_AR
)
{
FilterAndReplaceTasks
(
m_lARTasks
,
pTask
);
continue
;
...
...
@@ -209,7 +209,7 @@ bool CVARavenHybridScheduler::LoopBody()
for
(
int
i
=
0
;
i
<
(
int
)
m_viLocalFieldOfDuties
.
size
();
i
++
)
{
int
iFoD
=
m_viLocalFieldOfDuties
[
i
];
if
(
iFoD
==
CRaven
SimulationTask
::
SIM_DS
)
if
(
iFoD
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
)
{
m_pLocalScheduler
->
AddTask
(
pTask
);
bAddedToLocal
=
true
;
...
...
@@ -224,9 +224,9 @@ bool CVARavenHybridScheduler::LoopBody()
for
(
int
i
=
0
;
i
<
(
int
)
m_viRemoteFieldOfDuties
.
size
();
i
++
)
{
int
iFoD
=
m_viRemoteFieldOfDuties
[
i
];
if
(
iFoD
==
CRaven
SimulationTask
::
SIM_DS
)
if
(
iFoD
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_DS
)
{
m_pRemoteScheduler
->
AddTask
(
(
CRaven
SimulationTask
*
)
pTask
);
m_pRemoteScheduler
->
AddTask
(
(
ITASimulationScheduler
::
C
SimulationTask
*
)
pTask
);
pTask
->
RemoveReference
();
bAddedToRemote
=
true
;
break
;
...
...
@@ -235,7 +235,7 @@ bool CVARavenHybridScheduler::LoopBody()
if
(
bAddedToRemote
==
true
)
break
;
pTask
->
oProfiler
.
iDiscardReason
=
CRaven
SimulationTask
::
CProfiler
::
UNHANDABLE
;
pTask
->
oProfiler
.
iDiscardReason
=
ITASimulationScheduler
::
C
SimulationTask
::
CProfiler
::
UNHANDABLE
;
ImmediatelyDiscard
(
pTask
);
}
m_lDSTasks
.
clear
();
...
...
@@ -250,7 +250,7 @@ bool CVARavenHybridScheduler::LoopBody()
for
(
int
i
=
0
;
i
<
(
int
)
m_viLocalFieldOfDuties
.
size
();
i
++
)
{
int
iFoD
=
m_viLocalFieldOfDuties
[
i
];
if
(
iFoD
==
CRaven
SimulationTask
::
SIM_ER_IS
)
if
(
iFoD
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
)
{
m_pLocalScheduler
->
AddTask
(
pTask
);
bAddedToLocal
=
true
;
...
...
@@ -265,9 +265,9 @@ bool CVARavenHybridScheduler::LoopBody()
for
(
int
i
=
0
;
i
<
(
int
)
m_viRemoteFieldOfDuties
.
size
();
i
++
)
{
int
iFoD
=
m_viRemoteFieldOfDuties
[
i
];
if
(
iFoD
==
CRaven
SimulationTask
::
SIM_ER_IS
)
if
(
iFoD
==
ITASimulationScheduler
::
C
SimulationTask
::
SIM_ER_IS
)
{
m_pRemoteScheduler
->
AddTask
(
(
CRaven
SimulationTask
*
)
pTask
);
m_pRemoteScheduler
->
AddTask
(
(
ITASimulationScheduler
::
C
SimulationTask
*
)
pTask
);
pTask
->
RemoveReference
();
bAddedToRemote
=
true
;
break
;
...
...
@@ -276,7 +276,7 @@ bool CVARavenHybridScheduler::LoopBody()
if
(
bAddedToRemote
==
true
)
break
;
pTask
->
oProfiler
.
iDiscardReason
=
CRaven
SimulationTask
::
CProfiler
::
UNHANDABLE
;
pTask
->
oProfiler
.
iDiscardReason
=
ITASimulationScheduler
::
C
SimulationTask
::
CProfiler
::
UNHANDABLE
;
ImmediatelyDiscard
(
pTask
);
}
m_lISTasks
.
clear
();
...
...
@@ -292,7 +292,7 @@ bool CVARavenHybridScheduler::LoopBody()
for
(
int
i
=
0
;
i
<
(
int
)
m_viLocalFieldOfDuties
.
size
();
i
++
)
{