arrow_length_direction = Normalize(finish - start)
, где finish
- это конец отрезка, а start
- это его начало.arrow_base_position = finish + arrow_length_direction * arrow_length
, где arrow_length
- это длина стрелки.arrow_branch_direction = {arrow_length_direction.y, arrow_length_direction.x}
(в 2D-системах перпендикуляр - это перестановка координат единичного вектора). Этот вектор тоже будет нормализованным, т.к. вектор направления стрелки уже нормализован.arrow_side1_position = arrow_base_position + arrow_branch_direction * arrow_side_length
и arrow_side2_position = arrow_base_position - arrow_branch_direction * arrow_side_length
, где arrow_side_length
- это ширина плеча стрелки.finish
, arrow_side1_position
и arrow_side2_position
.LPWSTR
- это полный указатель (LP
) на тип WSTR
, который является псевдонимом wchar_t
. Т.е. LPWSTR
- это wchar_t*
.LPWSTR process_path[MAX_PATH];
изначально выглядит как ошибка.wchar_t process_path[MAX_PATH]
- это для текущей ситуации правильный выбор. wchar_t
и сохранять результат в std::wstring
.cycle
не имеет предварительного объявления и определена после dfs
.cycle
перед объявлением dfs
или вообще перенеси определение cycle
перед dfs
.cycle
не объявлена в момент трансляции dfs
. параметр/аргумент
параметр/аргумент метода