Hi Mihis,

The problem is, you are trying to adapt a structure which is fundamentally read-only. I mean the calculated curve itself is read only, and that's what you're trying to adapt to the linestring concept, as opposed to adapting the inner segment used for the curve calculation.

So as you have guessed, only the non-mutating algorithms will be available to you (things like distance, length, etc). It wouldn't make any sense, by definition, to try to mutate your curve since it's a calculated thing so modifying any of its points would potentially break the validity of the curve in regards to the algorithm that generated it.

However, I still understand the value of using algorithms like buffer and simplify on your calculated curve. You'll simply have to use a different, mutable, non-calculated structure as the output. Could be the Boost.Geometry linestring class or anything else. Anything that fulfills the linestring concept and is not a read-only calculated thing. And you can then use it for whatever further processing you need to do with the simplified/bufferized/mutated curve. Of course this will never be fed back to the original curve class since, as we said, it's a calculated and immutable thing.

Does that make sense at all?

Regards
Bruno