| 
						
						
							
								
							
						
						
					 | 
					@ -414,7 +414,7 @@ void testDeCasteljau() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    auto    phiDesc = std::make_shared<SphereDesc>(SphereDesc(0.8, uvector3(0), 1.)); | 
					 | 
					 | 
					    auto    phiDesc = std::make_shared<SphereDesc>(SphereDesc(0.8, uvector3(0), 1.)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    tensor3 tensor(nullptr, 3), tensor01(nullptr, 3), tensorBernstein(nullptr, 3), transformedTensorBernstein(nullptr, 3); | 
					 | 
					 | 
					    tensor3 tensor(nullptr, 3), tensor01(nullptr, 3), tensorBernstein(nullptr, 3), transformedTensorBernstein(nullptr, 3); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    algoim_spark_alloc(real, tensor, tensor01, tensorBernstein, transformedTensorBernstein); | 
					 | 
					 | 
					    algoim_spark_alloc(real, tensor, tensor01, tensorBernstein, transformedTensorBernstein); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{tensor}, AABB{}, BlobTree()}; | 
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{tensor}, {}, AABB{}, BlobTree()}; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    makeSphere(*phiDesc, visiblePrimitiveRep); | 
					 | 
					 | 
					    makeSphere(*phiDesc, visiblePrimitiveRep); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    uvector3 xmax = 1, xmin = -1, range = xmax - xmin; | 
					 | 
					 | 
					    uvector3 xmax = 1, xmin = -1, range = xmax - xmin; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    organizer::detail::powerTransformation(range, xmin, tensor, tensor01); | 
					 | 
					 | 
					    organizer::detail::powerTransformation(range, xmin, tensor, tensor01); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -442,7 +442,7 @@ void testSubDivideWithDeCasteljau() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    auto    phiDesc = std::make_shared<SphereDesc>(SphereDesc(0.7, uvector3(0.8), 1.)); | 
					 | 
					 | 
					    auto    phiDesc = std::make_shared<SphereDesc>(SphereDesc(0.7, uvector3(0.8), 1.)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    tensor3 tensor(nullptr, 3), tensor01(nullptr, 3), tensorBernstein(nullptr, 3), transformedTensorBernstein(nullptr, 3); | 
					 | 
					 | 
					    tensor3 tensor(nullptr, 3), tensor01(nullptr, 3), tensorBernstein(nullptr, 3), transformedTensorBernstein(nullptr, 3); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    algoim_spark_alloc(real, tensor, tensor01, tensorBernstein, transformedTensorBernstein); | 
					 | 
					 | 
					    algoim_spark_alloc(real, tensor, tensor01, tensorBernstein, transformedTensorBernstein); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{tensor}, AABB{}, BlobTree()}; | 
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{tensor}, {}, AABB{}, BlobTree()}; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    makeSphere(*phiDesc, visiblePrimitiveRep); | 
					 | 
					 | 
					    makeSphere(*phiDesc, visiblePrimitiveRep); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    uvector3 xmin = uvector3(-1., -1.3, -1.6), xmax = uvector3(1.6, 1.6, 2.3), range = xmax - xmin; | 
					 | 
					 | 
					    uvector3 xmin = uvector3(-1., -1.3, -1.6), xmax = uvector3(1.6, 1.6, 2.3), range = xmax - xmin; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    organizer::detail::powerTransformation(range, xmin, tensor, tensor01); | 
					 | 
					 | 
					    organizer::detail::powerTransformation(range, xmin, tensor, tensor01); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -558,7 +558,7 @@ void testTensorInverse() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    tensor3                         tensor(nullptr, 1 + faceCnt); | 
					 | 
					 | 
					    tensor3                         tensor(nullptr, 1 + faceCnt); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    algoimSparkAllocHeapVector(sparkStackPtrs, tensors); | 
					 | 
					 | 
					    algoimSparkAllocHeapVector(sparkStackPtrs, tensors); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    algoim_spark_alloc(real, tensor); | 
					 | 
					 | 
					    algoim_spark_alloc(real, tensor); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{tensors, AABB(), organizer::BlobTree()}; | 
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{tensors, {}, AABB(), organizer::BlobTree()}; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    organizer::detail::compositePower(visiblePrimitiveRep.tensors, 0, 0, 1, tensor); | 
					 | 
					 | 
					    organizer::detail::compositePower(visiblePrimitiveRep.tensors, 0, 0, 1, tensor); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    makeMesh(*phiDesc, visiblePrimitiveRep); | 
					 | 
					 | 
					    makeMesh(*phiDesc, visiblePrimitiveRep); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    uvector3 testX(0.5, 0.7, 0.2); | 
					 | 
					 | 
					    uvector3 testX(0.5, 0.7, 0.2); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -576,7 +576,7 @@ void testRotation() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    auto    desc = std::make_shared<SphereDesc>(SphereDesc(0.1, uvector3(0, 0., 0.))); | 
					 | 
					 | 
					    auto    desc = std::make_shared<SphereDesc>(SphereDesc(0.1, uvector3(0, 0., 0.))); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    tensor3 power(nullptr, 3); | 
					 | 
					 | 
					    tensor3 power(nullptr, 3); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    algoim_spark_alloc(real, power); | 
					 | 
					 | 
					    algoim_spark_alloc(real, power); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{power}, AABB{}, BlobTree()}; | 
					 | 
					 | 
					    VisiblePrimitiveRep visiblePrimitiveRep{{power}, {}, AABB{}, BlobTree()}; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    makeSphere(*desc, visiblePrimitiveRep); | 
					 | 
					 | 
					    makeSphere(*desc, visiblePrimitiveRep); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    uvector3 testX(0.5, 0.7, 0.2); | 
					 | 
					 | 
					    uvector3 testX(0.5, 0.7, 0.2); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    real     evalX = evalPower(power, testX); | 
					 | 
					 | 
					    real     evalX = evalPower(power, testX); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |