Skip to main content

Domain

Trait Domain 

Source
pub trait Domain: Send + 'static {
    // Required methods
    fn id(&self) -> DomainId;
    fn name(&self) -> &'static str;
    fn tracks_changes(&self) -> bool;
    fn views(&self) -> &[ViewTarget];
    fn view(&self, id: ViewId) -> Option<ViewSummary>;
    fn pick(
        &self,
        view: ViewId,
        ray: &ImageRay,
        placement: Rigid,
        views: &Views,
        prepared: &[PreparedGeometry],
    ) -> Option<Pick>;
    fn image_of(&self, view: ViewId, entity: Entity) -> Option<[f32; 3]>;
    fn lift_origin(
        &self,
        view: ViewId,
        ray: &ImageRay,
    ) -> Result<ChartPoint, DomainError>;
    fn compile_fields(&mut self) -> Result<FieldCost, DomainError>;
    fn field_program(&self) -> &FieldProgram;
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;
}

Required Methods§

Source

fn id(&self) -> DomainId

Source

fn name(&self) -> &'static str

Source

fn tracks_changes(&self) -> bool

Source

fn views(&self) -> &[ViewTarget]

Source

fn view(&self, id: ViewId) -> Option<ViewSummary>

Source

fn pick( &self, view: ViewId, ray: &ImageRay, placement: Rigid, views: &Views, prepared: &[PreparedGeometry], ) -> Option<Pick>

Source

fn image_of(&self, view: ViewId, entity: Entity) -> Option<[f32; 3]>

Source

fn lift_origin( &self, view: ViewId, ray: &ImageRay, ) -> Result<ChartPoint, DomainError>

Source

fn compile_fields(&mut self) -> Result<FieldCost, DomainError>

Source

fn field_program(&self) -> &FieldProgram

Source

fn as_any(&self) -> &dyn Any

Source

fn as_any_mut(&mut self) -> &mut dyn Any

Implementors§