Package gaiasky.data.octreegen.generator
Class OctreeGeneratorMag
- java.lang.Object
-
- gaiasky.data.octreegen.generator.OctreeGeneratorMag
-
- All Implemented Interfaces:
IOctreeGenerator
public class OctreeGeneratorMag extends java.lang.Object implements IOctreeGenerator
Implements the magnitude to level map, where octants in a level are filled with magnitude-sorted stars until one of them is saturated before proceeding to lower levels. This uses more memory than the outdatedOctreeGeneratorPart
but it generally produces artifact-free octrees and properly implements the bijective mapping f: mag -> level.
-
-
Field Summary
-
Fields inherited from interface gaiasky.data.octreegen.generator.IOctreeGenerator
logger
-
-
Constructor Summary
Constructors Constructor Description OctreeGeneratorMag(OctreeGeneratorParams params)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OctreeNode
generateOctree(java.util.List<ParticleGroup.ParticleBean> catalog)
int
getDiscarded()
java.lang.Long
getPositionOctantId(double x, double y, double z, int level)
Gets the id of the node which corresponds to the given xyz position
-
-
-
Constructor Detail
-
OctreeGeneratorMag
public OctreeGeneratorMag(OctreeGeneratorParams params)
-
-
Method Detail
-
generateOctree
public OctreeNode generateOctree(java.util.List<ParticleGroup.ParticleBean> catalog)
- Specified by:
generateOctree
in interfaceIOctreeGenerator
-
getDiscarded
public int getDiscarded()
- Specified by:
getDiscarded
in interfaceIOctreeGenerator
-
getPositionOctantId
public java.lang.Long getPositionOctantId(double x, double y, double z, int level)
Gets the id of the node which corresponds to the given xyz position- Parameters:
x
- Position in xy
- Position in yz
- Position in zlevel
- Level- Returns:
- Id of node which contains the position. The id is a long where the two least significant digits indicate the level and the rest of digit positions indicate the index in the level of the position.
-
-