Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Institute of Technical Acoustics (ITA)
ITASimulationScheduler
Commits
e3b44c94
Commit
e3b44c94
authored
Jun 19, 2020
by
Pascal Palenda
Browse files
Change to shared ptr for create function param - WIP
parent
81d91f11
Changes
13
Hide whitespace changes
Inline
Side-by-side
include/ITA/simulation_scheduler/audibility_filter/audibility_filter_interface.h
View file @
e3b44c94
...
...
@@ -32,7 +32,7 @@ namespace ITA
/// /// \brief Factory function for an audibility filter.
/// /// \remark This function should to be static.
/// ///
/// static std::unique_ptr<IAudibilityFilter> createFilter ( const IAudibilityFilter::AudibilityFilterConfig
&
);
/// static std::unique_ptr<IAudibilityFilter> createFilter ( const
std::shared_ptr<
IAudibilityFilter::AudibilityFilterConfig
>& pConfig
);
/// \endcode
///
class
ITA_SIMULATION_SCHEDULER_API
IAudibilityFilter
...
...
@@ -103,7 +103,7 @@ namespace ITA
///
/// \brief The function signature for a create function.
///
typedef
std
::
function
<
std
::
unique_ptr
<
IAudibilityFilter
>
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
)
>
CreateCallback
;
typedef
std
::
function
<
std
::
unique_ptr
<
IAudibilityFilter
>
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>&
pConfig
)
>
CreateCallback
;
///
/// \brief Register a type of filter to the factory.
...
...
@@ -123,7 +123,7 @@ namespace ITA
/// \param pConfig the configuration for the filter.
/// \return a pointer to the created filter.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
pConfig
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
pConfig
);
private:
///
...
...
include/ITA/simulation_scheduler/audibility_filter/rate_filter.h
View file @
e3b44c94
...
...
@@ -76,7 +76,7 @@ namespace ITA
/// \brief Factory function for a filter.
/// \remark This function should to be static.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
);
private:
///
...
...
include/ITA/simulation_scheduler/audibility_filter/reverberation_radius_filter.h
View file @
e3b44c94
...
...
@@ -73,7 +73,7 @@ namespace ITA
/// \brief Factory function for a filter.
/// \remark This function should to be static.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
);
private:
///
...
...
include/ITA/simulation_scheduler/audibility_filter/rotation_filter.h
View file @
e3b44c94
...
...
@@ -91,7 +91,7 @@ namespace ITA
/// \brief Factory function for a filter.
/// \remark This function should to be static.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
);
private:
///
...
...
include/ITA/simulation_scheduler/audibility_filter/translation_filter.h
View file @
e3b44c94
...
...
@@ -70,7 +70,7 @@ namespace ITA
/// \brief Factory function for a filter.
/// \remark This function should to be static.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
);
private:
///
...
...
include/ITA/simulation_scheduler/audibility_filter/zone_filter.h
View file @
e3b44c94
...
...
@@ -76,7 +76,7 @@ namespace ITA
/// \brief Factory function for CZoneFilter.
/// \remark This function should to be static.
///
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
);
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
);
private:
///
...
...
src/ITA/simulation_scheduler/audibility_filter/audibility_filter_interface.cpp
View file @
e3b44c94
...
...
@@ -62,9 +62,9 @@ namespace ITA
m_mFilters
.
erase
(
type
);
}
std
::
unique_ptr
<
IAudibilityFilter
>
CAudibilityFilterFactory
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
pConfig
)
std
::
unique_ptr
<
IAudibilityFilter
>
CAudibilityFilterFactory
::
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
pConfig
)
{
auto
it
=
m_mFilters
.
find
(
pConfig
.
sFilterType
);
auto
it
=
m_mFilters
.
find
(
pConfig
->
sFilterType
);
if
(
it
!=
m_mFilters
.
end
(
)
)
{
// call the creation callback to construct this derived type
...
...
src/ITA/simulation_scheduler/audibility_filter/rate_filter.cpp
View file @
e3b44c94
...
...
@@ -53,9 +53,9 @@ namespace ITA
}
std
::
unique_ptr
<
IAudibilityFilter
>
CRateFilter
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
)
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
)
{
return
std
::
make_unique
<
CRateFilter
>
(
reinterpret
_cast
<
const
RateFilterConfig
&
>
(
o
Config
)
);
return
std
::
make_unique
<
CRateFilter
>
(
dynamic
_cast
<
const
RateFilterConfig
&
>
(
*
p
Config
)
);
}
}
// namespace audibility_filter
}
// namespace simulation_scheduler
...
...
src/ITA/simulation_scheduler/audibility_filter/reverberation_radius_filter.cpp
View file @
e3b44c94
...
...
@@ -55,9 +55,9 @@ namespace ITA
}
std
::
unique_ptr
<
IAudibilityFilter
>
CReverberationRadiusFilter
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
)
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
)
{
return
std
::
make_unique
<
CReverberationRadiusFilter
>
(
reinterpret
_cast
<
const
ReverberationRadiusFilterConfig
&
>
(
o
Config
)
);
return
std
::
make_unique
<
CReverberationRadiusFilter
>
(
dynamic
_cast
<
const
ReverberationRadiusFilterConfig
&
>
(
*
p
Config
)
);
}
}
// namespace audibility_filter
}
// namespace simulation_scheduler
...
...
src/ITA/simulation_scheduler/audibility_filter/rotation_filter.cpp
View file @
e3b44c94
...
...
@@ -64,9 +64,9 @@ namespace ITA
}
std
::
unique_ptr
<
IAudibilityFilter
>
CRotationFilter
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
)
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
)
{
return
std
::
make_unique
<
CRotationFilter
>
(
reinterpret
_cast
<
const
RotationFilterConfig
&
>
(
o
Config
)
);
return
std
::
make_unique
<
CRotationFilter
>
(
dynamic
_cast
<
const
RotationFilterConfig
&
>
(
*
p
Config
)
);
}
bool
CRotationFilter
::
checkRelativeRotation
(
const
CUpdateScene
&
previousState
,
const
CUpdateScene
&
newUpdate
)
const
...
...
src/ITA/simulation_scheduler/audibility_filter/translation_filter.cpp
View file @
e3b44c94
...
...
@@ -55,9 +55,9 @@ namespace ITA
}
std
::
unique_ptr
<
IAudibilityFilter
>
CTranslationFilter
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
)
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
)
{
return
std
::
make_unique
<
CTranslationFilter
>
(
reinterpret
_cast
<
const
TranslationFilterConfig
&
>
(
o
Config
)
);
return
std
::
make_unique
<
CTranslationFilter
>
(
dynamic
_cast
<
const
TranslationFilterConfig
&
>
(
*
p
Config
)
);
}
}
// namespace audibility_filter
}
// namespace simulation_scheduler
...
...
src/ITA/simulation_scheduler/audibility_filter/zone_filter.cpp
View file @
e3b44c94
...
...
@@ -84,9 +84,9 @@ namespace ITA
}
std
::
unique_ptr
<
IAudibilityFilter
>
CZoneFilter
::
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
o
Config
)
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
p
Config
)
{
return
std
::
make_unique
<
CZoneFilter
>
(
reinterpret
_cast
<
const
CZoneFilter
::
ZoneFilterConfig
&
>
(
o
Config
)
);
return
std
::
make_unique
<
CZoneFilter
>
(
dynamic
_cast
<
const
CZoneFilter
::
ZoneFilterConfig
&
>
(
*
p
Config
)
);
}
}
// namespace audibility_filter
}
// namespace simulation_scheduler
...
...
tests/all_tests/mocks.hpp
View file @
e3b44c94
...
...
@@ -110,9 +110,9 @@ struct MockAudibilityFilter : public audibility_filter::IAudibilityFilter
bAudible
=
pConfig
.
GetValueInSubListOrDefault
(
"Audible"
,
"Mock"
,
false
);
}
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
IAudibilityFilter
::
AudibilityFilterConfig
&
pConfig
)
static
std
::
unique_ptr
<
IAudibilityFilter
>
createFilter
(
const
std
::
shared_ptr
<
IAudibilityFilter
::
AudibilityFilterConfig
>
&
pConfig
)
{
return
std
::
make_unique
<
MockAudibilityFilter
>
(
pConfig
);
return
std
::
make_unique
<
MockAudibilityFilter
>
(
dynamic_cast
<
const
MockFilterConfig
&>
(
*
pConfig
)
);
}
bool
changeIsAudible
(
const
CUpdateScene
&
previousState
,
const
CUpdateScene
&
newUpdate
)
const
override
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment