46 if (block_start <= x && x <=block_start+eps_)
47 h = slope_*(x-block_start);
49 if (block_start+eps_ <= x && x <= block_start+length_)
61 if (block_start <= x && x <=block_start+eps_)
74 if (x>=first_step_start_)
75 h = height_first_step;
77 if (x>=first_step_start_+first_step_width_)
78 h = height_second_step;
80 if (x>=first_step_start_+first_step_width_+width_top)
94 if (gap_start_ <= x && x <= gap_end_x)
105 if (gap_start_ <= x && x <= gap_end_x)
116 if (gap_start_ <= x && x <= gap_end_x)
128 if (x >= slope_start_)
129 z = slope_*(x-slope_start_);
132 if (x >= x_down_start_) {
133 z = height_center - slope_*(x-x_down_start_);
137 if (x >= x_flat_start_)
147 if (x >= slope_start_)
150 if (x >= x_down_start_)
153 if (x >= x_flat_start_)
166 if (x_start_<=x && x<=x_end_)
167 z = slope_*(y-y_start_);
177 if (x_start_<= x && x<= x_end_)
190 if (x_start_<=x && x<=x_end1_)
191 z = slope_*(y-y_start_);
193 if (x_end1_<=x && x<=x_end2_)
194 z = -slope_*(y+y_start_);
204 if (x_start_ <= x && x <= x_end1_)
207 if (x_end1_<=x && x<=x_end2_)
double GetHeight(double x, double y) const override
double GetHeight(double x, double y) const override
double GetHeight(double x, double y) const override
double GetHeightDerivWrtY(double x, double y) const override
FlatGround(double height=0.0)
double GetHeightDerivWrtXX(double x, double y) const override
double GetHeightDerivWrtX(double x, double y) const override
double GetHeightDerivWrtX(double x, double y) const override
double GetHeight(double x, double y) const override
double GetHeightDerivWrtY(double x, double y) const override
double GetHeight(double x, double y) const override
double GetHeightDerivWrtX(double x, double y) const override
double GetHeight(double x, double y) const override