<div dir="ltr">My apologies if this has already been answered a million times, I can't seem to find the archive of this list in an easily searchable form.<div><br></div><div>I would like to be able to concurrently access geos objects which are not being modified by other threads. As of now the only thing I know of which prevents this is the internal envelope which is created lazily.</div>

<div><br></div><div>My first question is whether anyone can tell me if this is true or not, or if there are other parts of geometries which may be modified by const functions. If not I can probably make sure the envelopes are precomputed but I don't want to go through all that and find out it doesn't work, or worse that I think it works until it doesn't.</div>

<div><br></div><div>If that is not possible I would be willing to do the work to add to geos whatever is necessary so that this can be done, if the work would be accepted into geos and if I can get some guidance on the best way to do it.</div>

<div><br></div><div>A related question - is there any reason the factory functions are not virtual? It seems as if it makes the factory not very useful as you can't inject your own types into the mix. It seems like if they were it could be used to create objects with synchronization primitives in them and thus solve my problem.</div>

<div><br></div><div>Thanks for your time.</div><div><br></div></div>