// --- Methods inherited from ReferenceTarget --- // This method is called to have the plug-in clone itself. RefTargetHandle Planet::Clone(RemapDir &remap) { // Create a new instance of the plug-in class Planet *newPlanet = new Planet(); // Copy superclass stuff *((MtlBase *)newPlanet) = *((MtlBase *)this); // Clone the items we reference newPlanet->ReplaceReference(0, remap.CloneRef(xyzGen)); newPlanet->ReplaceReference(1, remap.CloneRef(pblock)); newPlanet->col[0] = col[0]; newPlanet->col[1] = col[1]; newPlanet->col[2] = col[2]; newPlanet->col[3] = col[3]; newPlanet->col[4] = col[4]; newPlanet->col[5] = col[5]; newPlanet->col[6] = col[6]; newPlanet->col[7] = col[7]; newPlanet->size = size; newPlanet->island = island; newPlanet->percent = percent; newPlanet->seed = seed; newPlanet->texValidity.SetEmpty(); BaseClone(this, newPlanet, remap); // Return the new cloned texture return (RefTargetHandle)newPlanet; }