The first cone limits the outer surface of the glass and the second cone limits the inner surface.

If we want to fill the glass with water, we have to make an object which coincides with the inner surface of the
glass. Note that you have to avoid the coincident surfaces problem so you
should scale the "water" object just a little bit smaller than the inner surface of the glass. So we make
something like this:

Now the glass is filled with water. But there is one problem: There is too much water. The glass should be filled
only up to certain level, which should be definable. Well, this can be easily made with a CSG operation: