raimad.Compo
				class
		Compo(
		
		builtins.object,
		
		):
		
	
	
		Compos: the building blocks of RAIMAD.
TODO explain
		
	
	def __init__(self, *args: Any, **kwargs: Any) -> None:
			Instantiate new Compo.
		
		
		
		
		
Parameters
*args, **kwargs
All arguments and keyword arguments are forwarded to `self._make()`
		def _make(self, *args: Any, **kwargs: Any) -> None:
			TODO doc conventions for virtual methods.
		
		
		
		
			TODO
		
		
		
		
		
		
		
		
		
	@classmethod def partial(cls, **kwargs: Any) -> 'rai.typing.Partial':
			Return a Partial of this component class.
		
		
		
		
		
Parameters
kwargs: Any
Options to store in the Partial
		Returns
rai.typing.Partial
The new Partial
		def steamroll(self) -> 'rai.typing.Geoms':
			Steamroll the entire compo hierarchy into one Geoms dict.
		
		
		
		
		
		
Returns
rai.typing.Geoms
Returns all geometries (i.e. all raw geometries as well as subcompos) of this component
		TODO example
def final(self) -> Self:
			Return self.
		
		
		
		
			This method exists for uniformity with Proxy.final
		
		
		
		
		
Returns
Self
`self` is returned
		def depth(self) -> int:
			Return the number zero.
		
		
		
		
			This method exists for uniformity with Proxy.depth
		
		
		
		
		
Returns
int
The number 0 is returned.
		def descend(self) -> Iterator[Self]:
			Yield self.
		
		
		
		
			This method exists for uniformity with Proxy.descend.
		
		
		
		
		
		
Yields
Self
Yields `self`.
		def descend_p(self) -> 'Iterator[rai.typing.Proxy]':
			Yield nothing.
		
		
		
		
			This method exists for uniformity with Proxy.descend_p
		
		
		
		
		
		
Yields
None
Nothing is yielded.
		def proxy(self) -> 'rai.typing.Proxy':
			Return a new proxy pointing to this compo.
		
		
		
		
		
		
Returns
rai.typing.Proxy
The new proxy
		def walk_hier(self) -> Iterator[ForwardRef('rai.typing.CompoLike')]:
			Traverse the subcomponent hierarchy of this compo.
		
		
		
		
			This method will recursively walk through the entire subcompo hierarchy of this compo.
		
		
		
		
		
		
Yields
rai.typing.Proxy
TODO explain better
		def transform_point(self, point: 'rai.typing.PointLike') -> 'rai.typing.PointLike':
			Do nothing to `point` and return as-is.
		
		
		
		
			This method exists for uniformity with Proxy.transform_point.
		
		
		
		
Parameters
pointrai.typing.PointLike
A point
		Returns
rai.typing.Point
The same point
		@classmethod def __init_subclass__(cls) -> None:
			Bookkeeping for creating new Compo classes.
		
		
		
		
		
		
		
		
		
		
	def auto_subcompos(self, locs: dict[typing.Any, typing.Any] | None = None) -> None:
			Dirty hack for use in `_make` to quickly add all proxies as subcompos.
		
		
		
		
			Simply call `self.auto_subcompos(locals())` at the end of your `_make()` function, and all of the proxies in the scope of `_make()` will be added as subcompos.  Better yet, don't use this function and add subcompos manually.
		
		
		
		
Parameters
locs
This should be set to the output of `locals()`. The function will use this to see what proxies were defined in the caller and add them as subcompos. If `None` is passed, this function will instead use arcane `inspect` magic to traverse the stack and find the proxies defined in the caller.
		def __str__(self) -> str:
			Get string representation of compo.
		
		
		
		
		
		
Returns
str
TODO sample string
		def __repr__(self) -> str:
			Get string representation of compo.
		
		
		
		
		
		
Returns
str
TODO sample string
		Property scale
			Deliberately unimplemented -- see Proxy.scale.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property move
			Deliberately unimplemented -- see Proxy.move.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property movex
			Deliberately unimplemented -- see Proxy.movex.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property movey
			Deliberately unimplemented -- see Proxy.movey.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property rotate
			Deliberately unimplemented -- see Proxy.rotate.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property flip
			Deliberately unimplemented -- see Proxy.flip.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property hflip
			Deliberately unimplemented -- see Proxy.hflip.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property vflip
			Deliberately unimplemented -- see Proxy.vflip.
		
		
		
		
		
		
		
Raises
TransformCompoError
always raised.
		Property bbox
			Get a BBox pointing to this proxy.
		
		
		
		
		
Returns
rai.BBox
A BBox which encompasses all geometry of this compo