命名审查与垃圾代码清理(纯重命名 / 死代码删除,无行为变更)
前提:加载完成后全部采样都已驻留内存,程序此后与源文件再无联系。 据此修正了一批会让人误以为"仍在读写文件"的命名: - SampleFileAt → SampleSignalAt(取的是内存信号在给定时刻的采样值)。 - DataSet::AddPreparedFile → AddDataFile。 - PlotView::InvalidatePolylineCache → InvalidateDerivedCaches (它同时清空折线、边沿统计、中心平均值曲线、静态场景缓存与悬停引用)。 - PlotView::CursorColor(int which) → CursorColor()(两条光标同色,参数从未使用)。 - UiEllipsize(g,…) → UiEllipsize(…):纯测量不绘制,删掉被忽略的绘图上下文参数; 同时删除与 UiMeasureTextWidth 完全重复的 UiTextWidth,调用点统一到 UiMeasureTextWidth。 清理残留参数((void)xxx;): - TabConfig 的可见性/网格族(SetVisible / ToggleVisible / SetFileVisible / SetAllVisible / SoloSignal / SetMode / SyncLanes / FileHasVisible / FileAllVisible)去掉从未使用的 const DataSet& 参数(仅 SyncToDataSet 真正需要数据层,保留)。 - PlotView::OnLButtonUp(int y)、OnMouseWheel(int delta, bool shift);PainterSignalHalo 去掉未用的 ref。 - BuildDataFile 中未使用的局部 rowCount。 删除无人调用的死函数: DataSet::Clear / AddFromTable;SignalColorCount;WideToUtf8 / StartsWith; PlotView::ViewMinTime / ViewMaxTime / EdgePanelRect / EdgePanelCloseRect / EdgeCenterPanelRect / ScaleLaneRange / BeginLaneValueEdit / LaneContentHeight; SignalPanel::NeedsScrollBar / IsFilterEditing / FilterText / ContentHeight; PopupMenu::EditingItemId;TabBar::IsDragging;TextEdit::PlaceCaret。 删除只写不读的死字段:CsvTable::sourceRowCount(与 rowCount 等义)与 skippedRowCount。 以 VERY_BIG_DATA.CSV 回归验证:加载与勾选、筛选框(含"无匹配的筛选信号")、 样式区线宽文案省略、选区放大(横向与纵向)、双光标读数与 Δt、右键菜单(Y 轴数值与 实验性功能子菜单)、合并/拆分网格、标签与信号重命名省略号,行为均与改动前一致; make clean && make all 无任何警告。
This commit is contained in:
1 parent
f5028b1e18
commit
350538c634
21 files changed
+118
-456
No files matched your search
+17
-37
@@ -189,28 +189,13 @@ namespace jdi
|
||||
class DataSet
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief 清空全部已加载文件。
|
||||
*/
|
||||
void Clear();
|
||||
|
||||
/**
|
||||
* @brief 依据 CSV 解析结果追加一个数据文件。
|
||||
* @param [IN] table CSV 解析结果。
|
||||
* @param [IN] filePath 源文件路径。
|
||||
* @param [OUT] error 失败原因描述(成功时清空)。
|
||||
* @param [OUT] fileIndex 新文件下标,失败时为 -1。
|
||||
* @return 追加成功返回 true。
|
||||
*/
|
||||
bool AddFromTable(const CsvTable& table, const std::wstring& filePath, std::wstring& error, int& fileIndex);
|
||||
|
||||
/**
|
||||
* @brief 追加一个已构建好的数据文件(仅做一次移动,不拷贝采样数据)。
|
||||
* @param [IN,OUT] file 数据文件(内部缓冲会被移走)。
|
||||
* @param [OUT] fileIndex 新文件下标。
|
||||
* @return 追加成功返回 true。
|
||||
*/
|
||||
bool AddPreparedFile(DataFile&& file, int& fileIndex);
|
||||
bool AddDataFile(DataFile&& file, int& fileIndex);
|
||||
|
||||
/**
|
||||
* @brief 在指定文件的指定信号**下方**插入一条新信号(派生信号)。
|
||||
@@ -431,15 +416,19 @@ namespace jdi
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief 计算某条信号在给定时刻的取值。
|
||||
* @param [IN] file 信号所属文件。
|
||||
* @brief 从内存中的信号采样点取某一时刻的取值。
|
||||
*
|
||||
* 加载完成后全部采样值已在内存中,本函数只查询内存数据,与源文件无关。
|
||||
*
|
||||
* @param [IN] file 信号所属的已加载数据分组(提供时间轴)。
|
||||
* @param [IN] signal 目标信号。
|
||||
* @param [IN] time 采样时刻。
|
||||
* @param [IN] interpolate 是否在相邻采样点之间做线性插值。
|
||||
* @param [OUT] value 输出采样值,缺失时为 NaN。
|
||||
* @return 时间点落在数据范围内且取到有效值返回 true。
|
||||
*/
|
||||
bool SampleFileAt(const DataFile& file, const SignalData& signal, double time, bool interpolate, double& value);
|
||||
bool SampleSignalAt(const DataFile& file, const SignalData& signal, double time, bool interpolate,
|
||||
double& value);
|
||||
|
||||
/**
|
||||
* @brief 计算 N 点滑动平均(窗口 = [i-N, i+N],边界按实际窗口长度)。
|
||||
@@ -506,56 +495,49 @@ namespace jdi
|
||||
|
||||
/**
|
||||
* @brief 设置指定信号的可见性,并同步网格划分。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] ref 信号引用。
|
||||
* @param [IN] visible 目标可见状态。
|
||||
*/
|
||||
void SetVisible(const DataSet& dataSet, const SignalRef& ref, bool visible);
|
||||
void SetVisible(const SignalRef& ref, bool visible);
|
||||
|
||||
/**
|
||||
* @brief 切换指定信号的可见性,并同步网格划分。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] ref 信号引用。
|
||||
*/
|
||||
void ToggleVisible(const DataSet& dataSet, const SignalRef& ref);
|
||||
void ToggleVisible(const SignalRef& ref);
|
||||
|
||||
/**
|
||||
* @brief 设置某个文件全部信号的可见性,并同步网格划分。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] fileIndex 文件下标。
|
||||
* @param [IN] visible 目标可见状态。
|
||||
*/
|
||||
void SetFileVisible(const DataSet& dataSet, int fileIndex, bool visible);
|
||||
void SetFileVisible(int fileIndex, bool visible);
|
||||
|
||||
/**
|
||||
* @brief 设置全部信号可见性,并同步网格划分。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] visible 目标可见状态。
|
||||
*/
|
||||
void SetAllVisible(const DataSet& dataSet, bool visible);
|
||||
void SetAllVisible(bool visible);
|
||||
|
||||
/**
|
||||
* @brief 仅显示指定信号,其余全部隐藏。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] ref 需要保持可见的信号。
|
||||
*/
|
||||
void SoloSignal(const DataSet& dataSet, const SignalRef& ref);
|
||||
void SoloSignal(const SignalRef& ref);
|
||||
|
||||
/**
|
||||
* @brief 判断某文件是否存在可见信号。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] fileIndex 文件下标。
|
||||
* @return 存在可见信号返回 true。
|
||||
*/
|
||||
bool FileHasVisible(const DataSet& dataSet, int fileIndex) const;
|
||||
bool FileHasVisible(int fileIndex) const;
|
||||
|
||||
/**
|
||||
* @brief 判断某文件是否全部信号可见。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] fileIndex 文件下标。
|
||||
* @return 全部可见且至少有一条信号返回 true。
|
||||
*/
|
||||
bool FileAllVisible(const DataSet& dataSet, int fileIndex) const;
|
||||
bool FileAllVisible(int fileIndex) const;
|
||||
|
||||
/**
|
||||
* @brief 判断是否存在任何可见信号。
|
||||
@@ -577,16 +559,14 @@ namespace jdi
|
||||
|
||||
/**
|
||||
* @brief 设置网格划分策略并同步网格。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
* @param [IN] mode 目标策略。
|
||||
*/
|
||||
void SetMode(const DataSet& dataSet, LaneMode mode);
|
||||
void SetMode(LaneMode mode);
|
||||
|
||||
/**
|
||||
* @brief 依据当前可见性与策略重新生成网格划分。
|
||||
* @param [IN] dataSet 数据集合。
|
||||
*/
|
||||
void SyncLanes(const DataSet& dataSet);
|
||||
void SyncLanes();
|
||||
|
||||
/**
|
||||
* @brief 获取网格集合(只读)。
|
||||
|
||||
Reference in new issue
Block a user