Weird boundingbox value of custom primadapter

Hello, guys
I made a custom primadapter inherited from UsdImagingPrimAdapter and returned my boundingbox in method GetExtent(), but the World Bounding Box in usdviewer is not updated, it’s always [(3.40282346638e38,3.40282346638e38,3.40282346638e38),(-3.40282346638e38,-3.40282346638e38,-3.40282346638e38)], seems an infinite num. What did i miss?

Here is my code:

GfRange3d myPrimAdapter::GetExtent(UsdPrim const& usdPrim, 
                                     SdfPath const& cachePath, 
                                     UsdTimeCode time) const
auto myextent=computeMyExtent();
// I print variable myextent here and see the right value.
return myextent;

Think the GetExtent() method will give the attribute “extent” the right value of my custom prim. But the prim dont have the “extent” attribute.